源码补码转换技巧

在计算机系统中, 数值一律用补码来表示(存储)
    主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。另外,两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。
 
    对于计算机中的运算,都是以二进制的形式计算,那么很多时候,原码,反码,补码的计算是很烦人的,所以有一种简单的方式:
    正数的补码反码和原码是一样的;
 
以下是原码和补码互换的(负数):
    从数的右边往左开始数 ,遇到“0”不理它,直到遇到第一个“1”为止, 以后 的每一位数取反即是它的原码或补码 ,符号位不变,还是“1” (补码的补码是原码)。

    

    已知源码:11010100 求补码 ----- 从右往左数,第一位是0,不理它,第二位还是0不理它,第三位是1,那么从此以后的每位取反,即为它的补码了.答案为:10101100

    101011(求补码) 从右往左数,第一位是1,那么,以后每位都取反,倒数第一位是1,倒数第二位是0(因为要取反了),倒数第三位是1,倒数第四位是0,倒数第五位是1,第六位是符号位,还是1.那么,最后的结果就是:110101
    它的反码当然只是求反而已了 (除符号位之外的其它各位都取反即可) ,答案为:110100
补码为 101011,那么它的原码是什么?

    按照我刚说的,补码的补码就是原码了。一样的.从可往左数,倒数第一位是1,那么以后每位都取反就成它的原码了(因为这个数是一个补码),答案就是:110101


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值