浅谈计算机中原码反码补码

本文详细介绍了计算机中正数和负数的原码、反码和补码表示。对于正数,原码、反码和补码相同;负数则需要进行特定转换。通过举例说明了如何计算16位的原码、反码和补码,以及提供了一些求解补码的小技巧,帮助读者快速掌握这些概念。

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

原码

正数

正数中原码比较简单,直接将正数转换成二进制数,原码便是最高位为0其余位是该二进制数。位数不够时直接往前补0便可。比如42它的原码是如何计算出来的呢,如下图所示转换
最后它的原码便是:0101010若要求它的16位原码如何表示直接往前补0即可如42的16位原码是0000000000101010

负数

负数中原码和正数类似,但是复杂一点,先求出此负数绝对值的二进制数,然后在最高位写1其他位写上负数绝对值的二进制即可。如-42它的绝对值42的二进制数为101010,则-42的原码为1101010若位数不够便让最高位为1然后中间补0最后写上该数绝对值的二进制数。如-42的16位原码为:1000000000101010

反码

反码是在原码基础上稍作变化就能得出的。

正数

正数的反码就是它的原码。如42的反码是0101010位数不够时往前补0即可,如42的16位反码是:0000000000101010

负数

负数的反码便是保持它原码的最高位不变,其余各位取反。取反的意思就是0变1,1变0。
比如-42的原码为1101010则它的反码是:1010101,位数不够时往前补1即可,如-42的16位反码:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值