文章目录
- 一、数据表示
- 二、原码
- 三、反码
- 四、补码
- 五、移码
- 六、范围
- 七、总结
一、数据表示
各种数值在计算机中表示的形式称为机器数,其特点是采用二进制计数制,数的符号用0和1表示,小数点则隐含,表示不占位置。机器数对应的实际数值称为数的真值。
机器数有无符号数和带符号数之分。无符号数表示正数,在机器数中没有符号位。对于无符号数,若约定小数点的位置在机器数的最低位之后,则是纯整数;若约定小数点的位置在机器数的最高位之前,则是纯小数。对于带符号数,机器数的最高位是表示正、负的符号位,其余位则表示数值。(即=符号位+数值)
为了便于运算,带符号的机器数可采用原码、反码和补码等不同的编码方法,机器数的这些编码方法称为码制。(为字节型数据,共占8位)
二、原码
在原码表示法中,最高位是符号位,0表示正号,1表示负号,其余的n-1位表示数值的绝对值。数值0的原码表示有两种形式:[+0]原=0 0000000,[-0]原=1 0000000 。
以下方图片数值为例;即先将十进制转换为二进制,一共七位,缺少的用0补位,再在最前面加上0或1。
三、反码
在反码表示中,最高位是符号位,0表示正号,1表示负号,正数的反码与原码相同,负数的反码则是其绝对值按位求反。数值0的反码表示有两种形式:[+0]反=0 0000000,[-0]反=11111111。
四、补码
在补码表示中,最高位为符号位,0表示正号,1表示负号,正数的补码与其原码和反码相同,负数的补码则等于其反码的末位加1。在补码表示中,0有唯一的编码:[+0]补=0 0000000
五、移码
在补码的基础上,将符号位取反。(整数符号位取1,负数符号位取0)
六、范围
字节型数据,占8位,那么它的原码、反码、补码都是8位。字节型数据只有8位,只能表示0~255。
字型数据,占16位,那么它的原码、反码、补码都是16位。字型数据占16位,可以表示0~65535。