补码笔录笔记

  1. 2   负数的转换关系(原码  -->  补码)
        原码  -->  取反 -->  反码  --> +1 --> 补码
        举个例子(十进制-3):
        原码:1000  0011   》》  反码:1111 1100   》》  补码:1111 1101

  1.    负数的转换关系(补码 --> 原码) A模式
        补码  -->  -1 -->  ?  --> 取反 --> 原码
        举个例子(十进制-1):
        补码:1111  1111   》》  ?码:1111 1110   》》  原码:1000 0001
     
  2.    负数的转换关系(补码 --> 原码) B模式
        补码  -->  取反 -->  反码  --> +1 --> 原码
        举个例子(十进制-1):
        补码:1111  1111   》》  反码:1000 0000   》》  原码:1000 0001

通过 B模式(它与原码转到补码的操作是一样操作) 说明:即补码的补码等于原码

在规定中,8位二进制码能表示的反码范围是-127~127。

此时(字长为8位), -128没有原码和反码(只有补码)。

补码运算原理:

        假设在4位系统里(8位,16位,32位同样的理解思路,这里取简便位数系统作说明) 
        在计算机里,如果我们要计算5-3的值,我们既可以用5减去3,也可以用5加上13。这是为什么呢? 

假设一面钟:0~15共16个时针点圆钟,顺时针方向设为正,铺开形如:

012345678910/A11/B12/C13/D14/E15/F

这面圆钟,以逆时针方向设为负,相同的时针点位置,铺开形如:

0-15-14-13-12-11-10-9-8-7-6-5-4-3-2-1

统一各时钟点位置以顺时针和逆时针的表示法:

顺时针值0123456789101112131415
逆时针值0-15-14-13-12-11-10-9-8-7-6-5-4-3-2-1


这就像我们的钟表,它从1点走到12点之后,又回到了1点。

我们的计算机也是,从0走到15之后,再往下走就又回到了0,就像我们转了一个圈一样。

我们从5这个位置往回退(逆时针)3个格,就完成了5-3这个计算。

我们也可以从5这个位置往前走(顺时针)13个格,然后就到了2。

这样,我们往前走了13个格之后,也到了2这个位置。 


    所以,在我们这个计算机中,减3和加13是一样的。而3+13=16,我们就说在4位(模16)系统下,3和13是互补的。 


我们计算5-3就可以换成,0101-0011就可以表示为0101+(-0011)。 

        我们在计算机中都是把负数(注意在4位系统里,0111为最大正数),-3二进制表示是-0011,即为1011,那么-3的补码也就可以这么计算得到:10000-1011 = 1101

知识点:补码

    我们总说补码是“按位取反再加一”,看了上面这个式子相信大家就会明白了,

其实就是把10000-0011换成了1111-0011再加1的形式。然后,0101-0011就换成了0101+1101,它们计算出来的结果为10010。由于我们的计算机只有四个bit,所以结果为0010。即,在模16的计算机中,5-3=5+13=2。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值