数值1 | 数值-1 | 1-1(1+(-1)) | |
---|---|---|---|
原码 | 0000 0001 | 1000 0001 | 1000 0010 |
反码 | 0000 0001 | 1111 1110 | 1111 1111 |
补码 | 0000 0001 | 1111 1111 | 0000 0000 |
移码 | 1000 0001 | 0111 1111 | 0000 0000 |
原码
1、把数字转成二进制的表达形式
2、一般是八位,位数不足时前边补0,首位(最高位)是符号位,正数符号位是0,负数符号位是1。
原码不能直接用来做相关运算。
反码
正数的反码和原码是一样的。
负数的反码计算:
1、符号位不变
2、后边的所有位置取反,1变成0,0变成1。
补码
正数的补码和原码是一样的。
负数的补码是在反码的基础上+1。
移码
移码通常用来做浮点运算中的阶码。
是在补码的基础上,首位取反。
表示的范围
正数 | |
---|---|
原码 | -(2n-1-1)~2n-1-1 |
反码 | -(2n-1-1)~2n-1-1 |
补码 | -2n-1~2n-1-1 |