突发奇想来揣测揣测大师是如何发明补码的

本文探讨了补码的起源,解释了计算机为何使用补码表示数据,通过原码、反码到补码的演变过程,揭示了补码在简化二进制加减运算中的重要作用。作者分享了对补码发明思路的揣测,帮助理解二进制表示和计算的原理。

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

突发奇想来揣测揣测大师是如何发明补码的

写在前面

       最近学C语言学的云里雾里,对原码反码补码是一窍不通,除了知道什么是原码反码补码,其他的一点都不知道,于是作者静下心来花时间揣测了一下大师是如何思考发明补码的,若有所获,于是决定把想法记录下来,希望能帮助到其他同样思考过这个问题的人,纯属猜测,毫无史实依据,如有雷同,荣幸之至。如有问题,欢迎指正,邮箱644360964@qq.com

补码是怎么来的?

要搞清楚这个问题,首先就要明白计算机里保存的数据全是补码(把整数和0全部当成补码形式,反正都一样)

目前计算机中绝大部分是补码形式来保存数据,只有少数Linux里面的东西是用反码保存的。

要搞清楚这个问题,其次就要明白十进制与二进制的转换,这其中有蹊跷。

无符号的时候1111  1111=2^7+2^6+…+2^1+2^0=255 ——0到255有256个数字。
有符号的时候1111  1111取反+1之后=-1
有符号的时候0 _ _ _ _ _ _ _ 最大值+127
有符号的时候1 _ _ _ _ _ _ _ 最小值-128
有符号的时候1000  0000却表示-128
记住这几个数的长相,然后就可以开始了。

要搞清楚这个问题,然后需要明白要这些码能做到什么?为什么要他们?

用笔计算过的朋友应该发现了,笔可以计算加减法,但是,电脑不可以,电脑只能进行加法运

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值