我是靠谱客的博主 纯情电话,最近开发中收集的这篇文章主要介绍用UINT32_MAX来判断两个无符号数相减的大小,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

#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来判断两个无符号数相减的大小所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(61)

评论列表共有 0 条评论

立即
投稿
返回
顶部