C语言学习之原码、反码、补码

一、原码

原码就是十进制数字的二进制表现形式。例如 int类型的数字,占用4个字节,一个字节又是8位,所以int类型的数字占用32位。

示例:10的原码

00000000 00000000 00000000 00001010

负数原码的最高位表示符号位,1表示为负数

示例:-10的原码

10000000 00000000 00000000 00001010

二、反码

正数的反码与原码一样。
例如上面10反码为:

00000000 00000000 00000000 00001010

负数的反码为最高位符号位保持不变,其余为取反。
例如上面的-10的反码为:

11111111 11111111 11111111 11110101

三、补码

正数的补码同原码、反码相同,保持不变。
例如上面10反码为:

00000000 00000000 00000000 00001010

负数的补码是其反码加1,变成补码。
例如上面的-10的补码为:

11111111 11111111 11111111 11110110

四、总结

对于正数而言,原码、反码、补码三码相同。

对于负数而言,最高位表示符号位,反码为符号位保持不变,其余位取反。补码为反码加上1。

计算机存储时,则是以补码的形式进行存储数字。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值