如果最大值char
can hold 是 255 那么如果我创建一个 char number
类型的变量怎么办?并将其设置为等于 = 255;
然后std::cout << number;
程序返回 \377
?
最佳答案
\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)
:P)。
关于c++ - 为什么类型 char 返回不同的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51102103/