为什么补码可以表示负数?

博客探讨了二进制补码如何表示负数,解释了负数的补码是其正数的反码加1的原因,证明了这种方法在加法运算中的有效性,从而简化计算机硬件的设计。
摘要由CSDN通过智能技术生成

    最近整理一些html资料,有篇关于二进制补码的,看了还是比较模糊,索性不如自己试验下,负数,补码,反码究竟是啥关系?!

    计算机中加减的运算都通过加来求值,减去一个数等于加上这个数的负值,这是可以理解的。

    负数的表示是在最高位置1来区分,这还不够,严格的说是通过对其正数的补码来表达负值,所谓补码就是 反码+1。其实这才是负数的最高位为1的理由!

    来到了主题,负数为什么可以用 "反码 + 1" 来表达?

    和其它真理一样,这也是先人宝贵发现之一,它可以简化计算机硬件的加减运算,只要加加就可以了,而不像人工计算那样,还需要用到借位思想。

    要证明这个定理,可分如下几步:

    1) 这种方法的表达值 与 正值相加 等于 0; (负数的定义)

    2) 与较大的正值相加,结果会让该正值抵消掉其负值大小,而变小; (减法的特性之一)

    3) 与较小的正值,与负值相加, 结果... ; (减法的其它特性)

    我发现1)和 2)是可以证明的,3)应该也没问题。下面是补码作为负数的表达,可以让  1) 和 2) 通过的理解和描述。

    1)正数+负数 = 正数 + 正数反码 + 1 ==  0;

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值