计算机是如何存数

本文介绍了计算机中整数的补码表示方式,特别是负数的补码如何使得加法和减法操作可以通过相同的电路实现。补码使得负数可以被视为正数的同余数,简化了计算过程。通过时钟的例子,阐述了如何通过补码将减法转换为加法,强调了补码在简化计算机运算中的作用。

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

计算机的所有整数都是以补码的形式存储在计算机中的。整数的补码就是它本身;负数的补码是它除了符号位的位数取反加一。

正数的补码等于原码,负数的原码等于反码加一,而反码等于原码符号位不变其余各位取反

使用补码的原因:简化计算机基本运行电路,使加减法都能用加法的运行电路实现,用加法替代减法也就是让减去一个正数或加上一个负数可以用加上一个正数来替代。于是改变负数的存储形式,存储成可以直接当成正数来相加的形式,这种形式就是补码。

补码是怎么把减法变成加法的?

用时钟理解减法变加法

这是一个身边的例子,当你校对时钟的时候,假设发现钟是6点,但实际上现在才2点,也就是它走快了4个小时,你可以有两种方法进行校正,一种是逆时针拨回4个小时到2点,另一种是顺时针拨6个小时到12点然后再拨2小时,也就是顺时针拨8个小时到2点。所以对于时钟的表盘来说,设-N表示逆时针拨N个小时,N表示顺时针拨动N个小时,那么-4 = +8,同样还会有 -1 = +11、-5 = +7,甚至也可以 -4 = +8 = +20 = +32 = -16…

 

这里边隐藏了什么规律?其实在数学中,-4、+8、+20、+32、-16可以归为符合某个条件的同一类数字 —— 对于模12同余。(这不是反码吗?)

 

所以,只要 补码 是一个负数的正同余数,那么就能实现加这个正同余补码跟加另一个负数是一样结果的效果。对一个负数来说,有无数个正同余数满足条件,为了减少不必要的运算,可以规定补码就取其中最小的正数。

 

可能因为通过原码求 补码 是一个补模运算,所以它被称为 补码 。
版权声明:本文为优快云博主「SwordFirst」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/u011550549/article/details/94765612

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值