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

Why does type char return a different value?

本文关键字:类型 char 返回 为什么      更新时间:2023-10-16

如果char可以容纳的最大值是 255,那么如果我创建一个类型char number的变量并将其设置为等于= 255;然后std::cout << number;程序返回377那么为什么呢?

377255。

N为您提供由八进制数表示的值N

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

另请注意,如果系统/编译器上的char是无符号的 8 位,则char可以保存的最大值仅为 255。签名char不会上升那么高,如果您尝试这样做,则会溢出。你可能想使用确定性unsigned char(如果你真的是偏执:P,assert(CHAR_BIT==8)(。