二进制学习

2019-03-25  本文已影响0人  不过一书生

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.小结

在计算机系统中,数值一律用补码来表示(存储).主要原因:使用补码,可以将符号位和其他位统一处理;同时,减法也可按加法来处理.另外,用俩个补码表示的数相加是,如果最高位(符号位)有进位,则进位被舍弃;补码与原码的转换过程几乎是相同的

上一篇 下一篇

猜你喜欢

热点阅读