我的 C 程序在内存中存储许多整数值,并经常读取它们并对其进行比较。类型范围unsigned char
足够了,但我已经用过int
因为对我来说速度比内存消耗重要得多,我想也许 CPU 可以与int
速度更快。但这只是一个粗略的直觉猜测,我还远不能确定。
考虑到限制,您可能应该使用uint_fast8_t
这为您提供了通常最快的无符号类型,该类型至少能够存储uint8_t
值(其中uint8_t
通常是unsigned char
, 当然)。该类型定义于<stdint.h> http://port70.net/~nsz/c/c11/n1570.html#7.20.1.3在 C99 及更高版本中(以及uint_fast8_t
需要定义,但不一定相同uint8_t
, and uint8_t
如果CPU不支持8位字节则无需定义)。
如果您沿着这条路线走下去,您可能需要温习正确的格式说明符printf()
and scanf()
函数族。这些定义在<inttypes.h> http://port70.net/~nsz/c/c11/n1570.html#7.8.1。使用其他任何东西都充满了可移植性问题(至少在理论上)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)