机器数的常见编码

机器数

一个数在计算机内部的表示称为机器数。
机器数的最高位为符号位,符号位为0表示正数,符号位为1表示负数。
机器数可以有多种不同的编码表示方法,常见的编码方式有:原码、反码
和补码

反码

如果机器数为正数,则该机器数的反码和原码相同。
如果机器数为负数,则其反码是对原码除符号位以外的所有数位取反。
反码本身没有实际用途,它只是求补码的中间流程,补码在计算机中用来储存数据。

补码

机器数的补码可以由原码得到,如果机器数是正数,则该机器数的补码、反码、
原码均相同。
如果机器数是负数,则该机器数的补码:符号位不变,其余位将其反码数值加1
得到(0除外)。

移码

不管正负数,只要将其补码的符号位取反即可。

总结

即 原码 正数=反码=补码
负数——>符号位不变,其余位取反(反码)——>符号位不变,其余位是反码的
其余位加1(补码)

举例

数值  1          -1          1+(-1)
原码  0000 0001  1000 0001   1000 0010
反码  0000 0001  1111 1110   1111 1111
补码  0000 0001  1111 1111   0000 0000
移码  1000 0001  0111 1111   0000 0000
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值