如何获得自定义大小的整数数据类型?除了使用<stdint.h>
像uint16_t
和uint32_t
这样的类型之外,还有其他答案吗?这些类型是否与平台无关?
答案大多是否。<stdint.h>
提供给定平台上可用的特定大小的整数,但是没有标准的方法来获取20位整数,但是您可以指定小于<stdint.h>
使用位域提供的大小的任意大小。下面提供了一个20位unsigned int,尽管接口有点笨拙,但它可以按您期望的那样工作。
struct uint20_s {
unsigned int val : 20;
};
广义上讲,对于大于基本硬件支持的字长的字长实现整数语义是很重要的。有一整类的库致力于处理任意精度的数字。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句