补码在二进制带符号运算中的应用

1.  引入补码的原因

    在数字电路或系统中,为简化电路,常将负数用补码表示,以便将减法运算变为加法运算。

以钟表为例,时间从6点钟减少到2点钟,可以通过6-4=2逆时针转动4个小时实现;也可以通过6+8=14(表盘为12进制,满12部分舍去,所以14表示的即为2点)顺时针转动8个小时实现同样效果。所以在表盘上,-4与+8具有同样的效果。故对于-4而言,+8称为它在以12为“模”时的补数。也就是说负数(-X)的补数=-X的绝对值|X|。所以当模为12时,-4的补码=12-4=8。

数电课本中提到二进制数的补码表示方式:

若基数为,位数为的原码,其补码为

                                                                      N补=R^n-|N|

这与负数(-X)的补数=-X的绝对值|X|是一致的。在二进制带符号运算中,求负数补码时会用到对原码取反加1的操作。以-3为例,下面将按照上述公式,用4位二进制数表示该数字的补码。

-3的绝对值为3,对应4位二进制数为0011;模为16=1111+1。所以

-3 = (1111+1)-0011= (1111-0011)+1

其中(1111-0011)这一步就是对0011按位取反,所以-3=|-3|按位取反加1。

2.  无符号数和有符号数表示范围

    以4位二进制数为例,当表

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值