2024.9.13
原码,反码,补码,移码
符号位:如果机器字长为n,则最高位(或最左边的第一位是符号位: 0表示正号,1表示负号 ) 。
原码:原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示数值绝对值. 如果机器字长n=8
|
数值 |
原码 |
数值 |
原码 |
|
+0 |
00000000 |
-0 |
10000000 |
|
+1 |
00000001 |
-1 |
10000001 |
|
+127 |
01111111 |
-127 |
11111111 |
|
+45 |
00101101 |
-45 |
10101101 |
|
+0.5 |
0<>1000000 |
-0.5 |
1<>1000000 |
反码:正数的反码与原码相同,负数的反码则是其绝对值按位取反。
|
数值 |
反码 |
数值 |
反码 |
|
+0 |
00000000 |
-0 |
11111111 |
|
+1 |
00000001 |
-1 |
11111110 |
|
+127 |
01111111 |
-127 |
10000000 |
|
+45 |
00101101 |
-45 |
11010010 |
|
+0.5 |
0<>1000000 |
-0.5 |
1<>01111111 |
补码:正数的补码与其原码相同,负数的的补码则等于其反码的末尾加1。
|
数值 |
补码 |
数值 |
补码 |
|
+0 |
00000000 (唯一) |
-0 |
00000000 |
|
+1 |
00000001 |
-1 |
11111111 |
|
+127 |
01111111 |
-127 |
10000001 |
|
+45 |
00101101 |
-45 |
11010011 |
|
+0.5 |
0<>1000000 |
-0.5 |
1<>1000000 |
移码:只要将补码的符号位取反便可获得相应的移码表示。
|
数值 |
移码 |
数值 |
移码 |
|
+1 |
10000001 |
-1 |
01111111 |
|
+127 |
11111111 |
-127 |
00000001 |
|
+45 |
10101101 |
-45 |
01010011 |
|
+0 |
10000000 |
-0 |
10000000 |

浙公网安备 33010602011771号