c - 如何理解这个函数的目的?
问题描述
bool isEqualOrBiggerUint32(uint32_t src, uint32_t dest)
{
return (src - dest < 0x7fffffff);
}
我认为这个功能是比较dest
和src
。
但是,为什么我们应该在这个函数中使用0x7fffffff呢?
谢谢
解决方案
0x7fffffff 只是十进制数 2147483647 的紧凑十六进制表示。
如果表达式 (src - dest) 小于 0x7fffffff(十进制表示为 2147483647),此函数将仅返回 True。否则它将返回 False 作为布尔值。
推荐阅读
- java - 如何计算递归函数中的组合?
- c#-4.0 - 如何在 C# 类中注入 Blazor 会话存储
- android - 我在哪里可以检测到使用 adb(Rooted Phone) 连接到 Android 手机的 USB 设备?
- windows - Deno 安装错误:“iwr:底层连接已关闭:发送时发生意外错误。”
- javascript - HTTP POST 请求在 Android 上特别失败
- ios - CoreData:如何将对象插入 CoreData 数据结构?
- java - 如何在另一个特定字符之后匹配特定字符
- python - 错误:(-2:未指定的错误)无法在函数 'cv::dnn::dnn4_v20210608::LayerData::getLayerInstance' 中创建类型为“NoOp”的层“NoOp”
- javascript - 我可以 JSDocument 东西的使用情况,而不是创建
- python - 所有目录中的 Python 测试?