关于计算机中的原码、反码、补码的区别

本文介绍了计算机中数字的二进制表示方式,包括有符号和无符号数的区别,并详细解释了正数和负数的原码、反码及补码的概念。通过实例演示了如何使用补码进行减法运算。

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

数字在计算机中都是用二进制表示的。数字有有符号和无符号之分,所以需要分正负。

正数的原码、反码和补码是一样的。

负数则不一样,最高位用1来表示符号位,为负。

反码:符号位不变,其他位按位取反。

补码:反码+1。

实验证明,用原码和反码来进行负数的运算并不完全正确,用补码则没有问题。例如20-18,先计算20和(-18)的补码,然后相加,再还原出原码即可。20为正数,补码和原码相同是00010100。-18的原码是10010010,反码是11101101,补码是11101110,然后00010100+11101110=00000010,因为补码结果是正数,所以原码也是00000010,即为十进制的2。

注意:当反码和补码是正数时,原码也是正数,且和反码、补码相同;当反码和补码是负数时,再根据补码运算法则反向求出原码即可(补码-1,然后除符号位外按位取反即可)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值