《不要转载,谢谢!!!》
零、基本概念
名称 | 定义 |
机器字长 | 寄存机的位数 |
真值 | 带’+’ 或 ‘-’ 号的数 |
机器数 | 符号数字化后的数 |
一、原码
定义 | 0表示正数、1表示负数、数值位是真值的绝对值。 |
零的表示 | 原码中0有两种表示 |
优点 | 简单明了,易于真值转换 |
缺点 | 运算复杂,如果要加减2个不同号的数,你得先比较符号,再比较数值,这比我们之后要讲的补码可复杂太多了。 |
二、补码 <重点>
概念 | 1.一个负数可以使用其正补码代替,正补码可以通过模加负数求得。 2.一个正数和一个负数互为补码时,他们的绝对值之和即为模数。 3. 正数的补码即本身(因为补码的引入是为了消除减法运算 |
定义 | 原码除符号位外,每位取反,末尾加1,补码求原码也适用,证明略 |
零的表示 | 补码的零只有一种表示方法==》因为补码只有一种零的表示方法,所以它比原码能多表示一个数(1个字节为例,原码只能表示 [-127, 127],补码能表示[-128,127],多出来的数是0x80) |
变形补码 | 双符号位补码,可以用于阶码运算与溢出判断 |
反码 | 原码求补码的过渡,负数的原码除符号位外,每位取反=》反码的0也有两种表示!表示范围[-127, 127] |
三、总结
1.最高位都是符号位,后面跟着数值位(0表示正式、1表示负数)。
2.当真值为正数时,原码 = 补码 = 反码。
3.当真值为负数时,符号位一致,反码等于原码的数值位每位取反,补码等于反码末尾+1.