概述
#define UINT32_MAX (0xFFFFFFFF)
#define UINT32_MAX (0xFFFFFFFF)
uint32_t utils_time_is_expired(iotx_time_t *timer)
{
uint32_t cur_time;
if (!timer) {
return 1;
}
cur_time = HAL_UptimeMs();
/*
*
WARNING: Do NOT change the following code until you know exactly what it do!
*
*
check whether it reach destination time or not.
*/
if ((cur_time - timer->time) < (UINT32_MAX / 2)) {
return 1;
} else {
return 0;
}
}
根据源码 UINT32_MAX / 2 得到 0x7FFFFFFF:
如果cur_time大于timer->time, 两个相减就会得到一个较小的无符号数。
如果cur_time小于timer->time,两个相间就会得到一个大的无符号数,最高位为1.
所用用UINT32_MAX / 2)用来表示 unint32中 两个数的大小。
最后
以上就是纯情电话为你收集整理的用UINT32_MAX来判断两个无符号数相减的大小的全部内容,希望文章能够帮你解决用UINT32_MAX来判断两个无符号数相减的大小所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复