“字符型、有符号和无符号……这些把我整懵了!”
这里以unsigned char为例,会发现不出现告警的范围是:-128~255。经实践,当signed char时,不出现告警的范围也是:-128~255。
未完待续……
注意:
- 实际的 8 bit 的 unsigned char 的表示的值的范围为:0~255;
- 实际的 8 bit 的 signed char 的表示的值的范围为:-128~127。
经实践,画出两者的转换图像:
从函数图像中,可以看出两者是存在一定关系的,即
这样,只需要知道 unsigned(x) 的函数表达式,即
实际实践:
故,当给 signed char类型的aa赋值为-300时,转换后的值为:-44
参考资料:
- 《C++ Primer(第5版)中文版》王刚 杨巨峰 译