为什么类型 char 返回不同的值?
Why does type char return a different value?
如果char
可以容纳的最大值是 255,那么如果我创建一个类型char number
的变量并将其设置为等于= 255;
然后std::cout << number;
程序返回377
那么为什么呢?
377
是255。
N
为您提供由八进制数表示的值N
。
十进制255 是八进制 377 是二进制 1111 1111 是十六进制 FF。
另请注意,如果系统/编译器上的char
是无符号的 8 位,则char
可以保存的最大值仅为 255。签名char
不会上升那么高,如果您尝试这样做,则会溢出。你可能想使用确定性unsigned char
(如果你真的是偏执:P,assert(CHAR_BIT==8)
(。
相关文章:
- 枚举类的 C 样式强制转换到基础类型 char 的引用
- 无法使用类型 'const char *' 的左值初始化类型 'char *' 的成员子对象
- C++:将模板类型 char 转换为 std::string
- 获取"rw_ssid"中成员"长度"的错误请求,该成员属于非类类型"char*"
- 将"std::string {aka std::basic_string}"赋值中的不兼容类型<char>
- 成员引用基类型 'char' 不是 C++ 中的结构或联合
- 错误:请求成员 .. 是非类类型"char"
- 错误:为"运算符 std::string {aka std::__cxx11::basic_string}"指定的返回类型<char>
- 为什么类型 char 返回不同的值?
- 请求成员 'begin' in 'c' 中,它是非类类型 'char [101]' sort(c.begin(), c
- C++ 类型 "char" 的参数与类型 "const char" 的参数不兼容
- 类型 "const char *" 的参数与类型 "char *" 的参数不兼容
- 类型 "const char*" 的参数与类型 "char*" 的参数不兼容。但是为什么?:(
- 创建进程使用路径时出现错误事件:类型 "char *" 的 E0167 参数与类型 "LPWSTR" 的参数不兼容
- 类型 "const char *" 的默认参数与类型 "char *" 的参数不兼容
- 返回类型 char* 的成员函数返回在 while 循环后包含不同字符串的地址
- 接受类型char的输入的问题
- 错误:无法递增类型 'char [6]' 的值
- "char *" 类型的值不能用于初始化类型 "char" 的实体
- 类型 "char *" 的参数与类型 "LPWSTR" 的参数不兼容