繁体   English   中英

为什么输入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) )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM