原码、反码、补码

先明确几个概念:原码,反码,补码,byte和bit

byte:字节

bit:位

1字节=8位(1 byte = 8bit),一个英文占一个字节,一个汉字在不同的编码格式下所占字节不同,不过一般来说是两个字节

原码:正数的原码就是十进制转换为二进制后的结果,负数的原码是此数对应的绝对值转换为二进制后最高为补1

反码:正数的反码是其本身,负数的反码是原码除最高位符号位以外全部取反

补码:正数的补码是其本身,负数的补码是原码除最高位符号位以外全部取反后结果最低位加1(计算机的存储形式)

以8为例:

先将8转换为二进制。

方法:十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。

按照上述方法,8的二进制为:00000100

所以,8的原码、反码以及补码分别是

原码:00001000

反码:00001000

补码:00001000

然后再来看-8的原码、补码和补码

原码:10001000

反码:11110111

补码:11111000

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值