一、基本概念
在机器中数字是以二进制 0或1表示,即为机器数;
而原码反码补码和移码代表的是机器数的编码方法,即为码制;
机器数分为两类:有符号位和无符号位;
有符号位中最高位0代表正数,1代表负数
二、详细解释
以下以一个具体的数字 +1和-1实例说明
+1 | -1 | |
原码 | 0000 0001 | 1000 0001 |
反码 | 0000 0001 | 1111 1110 |
补码 | 0000 0001 | 1111 1111 |
移码 | 1000 0001 | 0111 1111 |
可以发现
1.正数的原码反码和补码相同,移码是符号位取反,其余不变
2.负数的反码是在原码的基础上,除符号位外,全部取反;
负数的补码是在原码的基础上,除符号位外,取反再加1;(也有说法是除符号位外,在最低值的1不变,其余取反)
负数的移码是在补码的基础上,符号位取反;
三.浮点数的计算
浮点数的表示方式一般是 N=M×R^e (N等于M乘以R的e次方)
M表示尾数,M表示基数,e表示阶码;如 1200=1.2×10^3(注:尾数是补码表示,阶码是移码表示)
软考中一般考的是浮点数的对阶;
阶码小的向大的看齐,尾数向右移的位数=大阶码-小阶码(必须记住)