关于该死的原码和补码的关系 以及为什么计算机中使用补码作为运算的码种

看文章之前,两点提示:第一,不要管反码,以及反码和补码的关系  第二,忘掉符号位,没有符号位这个东西。

在计算机中:


正数的表示方式简单来讲就是原码

具体为二进制        比如7    0000--0111


负数的表示方式就是补码(补码的特征。第一位一定是1)

具体为该数的绝对值的按位取反然后加一 比如-7         第一步,把上面那个二进制数按位取反  1111--1000  第二步+1     1111--1001


那么    已知一个数的补码  怎么知道这个数的十进制数字呢?       首先看到补码那么他就毫无疑问是一个负数  那么同样将这个数全部按位取反然后加一    比如1101--0110      这是一个补码,因为首位是1。 第一步 :0010--1001  第二步:0010--1010    转换为十进制为42      然后补码都是负数  所以为  -42


那么为什么要使用补码来进行计算机的计算呢?

计算机里面大多数都是加法运算器,做的减法操作都是加上一个负数 比如   1-2=1+(-2)

那么这时,如果我们用原码操作0001

                                                     +1010

                                                        1011

答案是 -3?!

如果是补码呢                               0001

                                                    +1110

                                                       1111

答案是-1


这其中的不同就是一个可以直接把符号位参与进入运算。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值