C++中是否存在实际的8位整数数据类型

tej*_*eku 15 c++ integer

在c ++中,特别是cstdint头文件,有8位整数的类型,结果是具有typedef的char数据类型.任何人都可以建议一个实际的8位整数类型?

dlm*_*tei 18

是的,你是对的.int8_t并且uint8_ttypedefchar平台上,其中1个字节为8位.在没有的平台上,将给出适当的定义.

以下答案基于char的假设 8 bits

char保持1个字节,可以是signedunsigned基于实现.

所以int8_tsigned charuint8_t现在unsigned char,但是使用int8_t/uint8_t作为实际的8位整数是安全的,而不依赖于实现.

对于实现者来说,typedefchar为8位的fing是有道理的.

看过这一切后,可以安全使用int8_tuint8_t作为真正的8位整数.

  • 不,它们不是`typedef`到`char`.首先,`char`类型是编译器相关的,可以是`unsigned`,`signed`或`char`.`int8_t`是`signed`数量,`uint8_t`是无符号数量.它们无法映射到相同的类型.唯一的保证是`int8_t`是一个8位的有符号整数,而'uint8_t`是一个8位宽的**无符号**整数. (2认同)
  • “将给出适当的定义”应改为“类型将不存在” (2认同)