1.机器数
一个数在计算机中的二进制表现形式,叫做这个数的机器数.机器数是带符号的,在计算机用一个数的最高位存放符号,正数位为0,负数为1.
例:+3(10) ------ 0000 0011(2) 计算机字长8位
2.真值
将带符号的机器数对应的真正数值称为机器数的真值.
例:1000 0011(2) ------该数据代表的真值为-3(10).
3.原码,反码,补码
原码,反码,补码都是有符号的,用二进制表示数的方法,均有符号位和数值位构成
---原码
源码是符号位加上(真值的绝对值),即用第一个位表示符号,其余位表示值.
例: +6(10)------原码为:0 000 0110;
第一位是符号位,余下7位是数值位.因此,8位二进制的取值范围就是[-(2^7 - 1),+(2^7 _1)],即[-127,+127];
---反码
正数的反码是其本身.负数的反码是在其原码的基础上,符号位不变,其余各个位取反.
例:+6(10)-----原码是:0 000 0110 ----反码是:0 000 0110;
-6(10)---原码是:1 000 0110 ---反码是:1 111 1001;
---补码
正数的补码是本身,负数的补码是在原码的基础上,符号位不变,其余各位取反,最后+1(即,在反码的基础上+1)
例:+6(10) ------原码是:0 000 0110 ---补码不变:0 000 0110;
-6(10) ----原码是:1 000 0110 ---补码是:1 111 1011;
4.小结
在计算机系统中,数值一律用补码来表示(存储).主要原因:使用补码,可以将符号位和其他位统一处理;同时,减法也可按加法来处理.另外,用俩个补码表示的数相加是,如果最高位(符号位)有进位,则进位被舍弃;补码与原码的转换过程几乎是相同的
网友评论