补码是什么东东:计算机组成基本知识之一

计算机的核心部件是CPU,CPU的核心是什么?是一个加法器。这个加法器只能执行一种操作,即二进制加法。其他运算都是通过加法实现的。比如说乘法、除法和减法。乘法好理解,可以认为是多个加法和多个移位运算组成的,比如:

所以二进制1001与101相乘的结果就是101101。同样地,除法可以用减法表示。那减法呢?减法该怎么计算呢?

要想计算减法,首先要明确的一点是:计算机内部一个整数是由有限个bit组成的。这里我们假设一个整数由8个bit组成。这意味着任何超过8位的整数都会被自动截断。也就是说

a + 2^8 = a

 所以:

a-b=a-b+2^8=a+(2^8-b)

所以为了计算a-b,只需计算a+(2^8-b)即可。这里2^8 - b就被称为b的补码。比如3的二进制是11,则它的8位二进制补码就是11111101,两者相加应等于2^8

为了计算一个二进制数的补码,只需把这个数的每一位反一反,然后加1即可。比如00000011的求反的结果是11111100再加1就是11111101,正是11的补码。

补码的思想跟进制无关。比如假设一台十进制的计算机整数都是两位的,为了计算45-23,先求23的两位十进制补码,即10^2-23=77,或者99-23+1结果也是77。然后计算45+77=122,截断后的结果是22,正是45-23的结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

方林博士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值