有符号的数据表示法(原、反、补)

为什么讲这个概念?

因为计算机在操作的时候,都是采用对应的二进制的补码来进行运算的

 

原反补都是针对二进制来说的,二进制用字节保存,一个字节保存8个字符

以+7、-7为例子:

00000111

源码:

最高位为符号位,0表示正数,1表示负数

 

    符号位  数值位

+7       0      0000111

-7     1      0000111

 

反码:

正数的反码与其原码相同,负数的反码符号位不变,其他位取反

 

    符号位  数值位

+7   0      0000111

-7    1      1111000

 

补码:

正数的补码与其源码相同,负数的补码是在其反码的基础上加1

 

    符号位  数值位

+7    0     0000111

-7   1     1111001

 

作业:

1、已知源码:10110100B,求补码和反码

2、已知反码:11101101,求源码和补码

 

测试:将-8+3用计算机计算结果:

1:  将-8和3的源、补、反三个码列出:

  -8  源:1  0001000    反:1  1110111  补:1  1111000

  3  源反补:  0  0000011

补码相加得到:1  1111011

将这个补码转换成为反码:1  1111010  源码:1  0000101  数字:-5

 

posted @ 2016-05-21 13:50  guodaxia  阅读(816)  评论(0编辑  收藏  举报