繁体   English   中英

有人可以解释从库中使用uint32_t的重要性 <stdint.h> ?

[英]Can someone explain the significance of using uint32_t from the library <stdint.h>?

我最近看到someones代码在代码厨师上使用这个变量类型和库。 我想知道是否有人可以解释使用uint32_t而不是intfloatdouble等的好处。还有什么情况我应该使用/不使用它?

链接到代码: http//www.codechef.com/viewsolution/131898

优点是uint32_t始终保证为32位长,而长度与平台相关的基本类型则相反。 例如,虽然int在x86和x86_64上是32位,但在许多其他64位平台上它们是64位,而在某些旧的和/或嵌入式架构上则小于64位。

然后,当你直接从磁盘/网络读取二进制数据时,其中一个使用uint32_t可能是有益的情况。 您始终只需将4个字节复制到uint32_t并确保它适合。 (但是,您仍然需要注意例如字节序的差异。)

如果您只是想要可预测的上溢/下溢行为,您可能还想使用uint32_t 或者,如果您正在进行某些特定大小的计算,例如运行某些散列算法时。

我唯一想知道的是为什么没有相应的float32_tfloat64_t类型。 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM