目录
6.1 无符号数和有符号数
6.1.1 无符号数
没有正负号的数据,寄存器的位数即为无符号数的表示范围。
6.1.2 有符号数
分为符号部分和数值部分。
机器数保存符号、小数点位置以及数值。计算机中没有专门的硬件保存小数点,都是以约定的形式给出。
1、机器数与真值
2、原码表示法
整数:符号位+,+数值。符号位0为正,1为负。逗号将符号位和数值分隔开,数值其实是数的绝对值。
例如:
小数:符号位+.+小数部分,符号位0为正,1为负。小数点将符号位和小数部分分隔开。
例如:
上面的逗号和小数点,都不需要在计算机中存储,这里是方便人来阅读。
举例:
原码的特点:简单、直观
但是用原码作加法时,会出现如下问题:
使用原码进行加法的时候,结果的符号可正可负,希望找到一个与负数等价的正数来替代这个负数,这样就可以使得减法变成加法,即补码表示法。
3、补码表示法
整数:正数的补码与原码一致,负数的补码为它的原码,除符号位以外,各位取反,最后加1。
例如:
小数:正数的补码与原码一致,负数的补码为它的原码,除符号位以外,各位取反,最后加1。
举例:
4、反码表示法
正数的反码就是原码,负数的反码,将原码除符号位外,所有位取反。
举例:
三种机器数的小结
5、移码表示法(只有整数形式定义)
补码表示很难直接判断其真值大小