linux系统中用uint32_t类型变量代替unsigned int类型变量的原因是什么?

linux系统中用uint32_t类型变量代替unsigned int类型变量的原因是什么?,第1张

从c 语言历史来看,int 分 long int 和 short int, 老式编译器 默认 int 是 long 还是 short 有分歧。现在的 一般编译器 默认int 是 long int, 是 32 位。 unsigned int 是 32位 无符号整型。uint32_t 看起来更明确,u 是 unsigned, int32 是 32 位整型,t 是 type。这样定义也便于今后发展,例如 uint64_t, uint128_t. 可扩展到 64位,128位。

我测试了一下,你的结果可能写反了。

而且,测试中发现,如果是short、int类型就没有问题,只是unsigned short , unsigned int有问题

查阅资料也没有非常清晰的说明。

我觉得应该算是C的一个BUG。再等高人吧,看看有没有更清楚的大师。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8300490.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存