计算一个补码的非的两种方法

本文介绍了计算补码取反的两种方法:一种是对每位求补后再加1;另一种是从右向左找到第一个1,然后对该1左侧的所有位求补。通过具体的例子详细解释了这两种方法的具体操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

计算一个补码的非的两种方法:

1. 对每一位求补,再将结果加1.

举例:

假设字长为4,即可表示的最大数值范围为:-8 ~ 7

5 -> -5

0101 求补: 1010 加1: 1011(-5)

7 -> -7

0111 求补: 1000 加1: 1001(-7)

 

2. 从右边开始寻找第一个1的位置,将1左边全部位求补。

举例:

-4 -> 4

1100 右边第一个1左边的位全部求补:0100(4)

-8 -> -8

1000 右边第一个1在最左边,故无需求补:1000(-8)

转载于:https://www.cnblogs.com/python_newbie/archive/2011/01/02/1924027.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值