C++中,有3种不同的字符类型:
char
signed char
unsigned char
如果用于文本,则使用未加限定的char
, 是类似于 'a'
, '0'
的类型, 或是组成C字符串"abcde"
的类型。它也可以是一个值,但是是当做无符号还是有符号数没有指定。
如果将字符类型用作数字,那么:
signed char
, 范围至少为 [-127 ~ 127] 。 (一般范围是 -128 到 127)
unsigned char
, 范围至少为 [0 ~ 255]。
说“至少”是因为C++标准只指定了对应每一种数据类型值的最小覆盖范围。
如果你真的要表示小的整数,最好使用 int8_t
和 uint8_t
。
[1] https://stackoverflow.com/questions/75191/what-is-an-unsigned-char