c++ - 为什么类型 char 返回不同的值?

标签 c++

如果最大值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/

相关文章:

c++ - 使用 GStreamer 和 wxPanel 播放视频

C++:关于复制构造函数的问题

c++ - 为什么此代码会导致 SIGSEGV(gcc 编译器、cygwin 下的 Android NDK 工具链)?

c++ - 必须进行哪些更改才能使此 Windows 文本框从 2011 年开始在 2019 年正常运行?

c++ -::myFunction() 是否属于全局命名空间?

c++ - STL 优先队列 - 删除项目

c++ - 如何从 D11 纹理为英特尔 MFT 编码器创建 IMFSample

c++ - 在函数声明中包含参数名称与不包含参数名称有什么区别?

c++ - 为什么我的数组值更新为随机值?

c++ - C++中自己的异常不能抛出