为什么要用补码?

在规定了正数的表示方式后,比如四个bit表示一个数字a

那么

1 = 0001

7= 0111

为了让计算机运算时,满足

a+(-a)=0

则得到-a的值0-(+a)

如a = 1

则 -1 = [1]0000-0001 = 1111

则 -7 = [1]0000-0111 = 1001


在补码运算中

1000 被认为是 -8。 我不知道这个有啥意义。但是可以得知,

1.如果一个数字由N个bit来表示,则补码的可表示的数的范围为 -2^(N-1) ~ +2^(N-1)-1

2.补码中0就是N位0,没有神马+0,-0的说法了。


常见的 one's complement 即为反码

two's complement即为补码

属个人理解





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值