在c ++中,特别是cstdint头文件,有8位整数的类型,结果是具有typedef的char数据类型。任何人都可以建议一个实际的8位整数类型吗?
答案 0 :(得分:14)
是的,你是对的。在1字节为8位的平台上,int8_t
和uint8_t
为typedef
到char
。在没有的平台上,将给出适当的定义。
以下答案基于char为8 bits
char
保留1个字节,根据实现情况可能为signed
或unsigned
。
所以int8_t
是signed char
而uint8_t
是unsigned char
,但是将int8_t / uint8_t用作实际的8位整数是安全的,而不必依赖于实现。
对于实现者的观点,typedef
fing,其中char为8位是有意义的。
看过这一切,使用int8_t
或uint8_t
作为真正的8位整数是安全的。