为什么输入char返回不同的值?

时间:2018-06-29 12:45:31

标签: c++

如果char可以容纳的最大值是255,那么如果我创建类型为char number的变量并将其设置为等于= 255;,那么std::cout << number;怎么办? \377

1 个答案:

答案 0 :(得分:6)

\377 255。

\N gives you the value represented by the octal number N.

十进制255是八进制377是二进制1111 1111是十六进制FF。

还请注意,如果系统/编译器上的char是无符号的且是8位的,则char可以保留的最大值仅为255。一个已签名的char不会上升那么高,并且如果尝试将其溢出。可能需要使用unsigned char来确定性(如果您真的很偏执,请使用assert(CHAR_BIT==8)