6.3 有符号数和无符号数
关键字signed & unsigned
默认是 signed
打印数据格式:%d %u
-
数据范围
有符号数:[-128,127]
无符号数:[0,255]
-
无符号数的存储
无符号数没有原码、补码之说,直接将真值转换为二进制
-
有符号数的存储
有符号数采用补码的形式存储
正数的补码:等于其原码
负数的补码:反码 + 1
为什么要使用补码来存储数据
解决0的编码问题
减法运算可以转换为加法,省去硬件的减法电路。CPU只要有
全加器、求补电路即可
符号位也能参与运算,和其它位统一处理。有补码表示的数相
加,最高位有进位时,则进位被舍弃。