原码,反码,补码的解意与计算

原码,反码,补码的解意与计算

原码:是一种计算机中对数字的二进制定点表示方法。原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1(0有两种表示:+0和-0),其余位表示数值的大小。
反码:正数的反码是原码本身,负数的反码是对正数逐位取反,符号位保持不变。
补码:正数的补码与原码相同,负数的反码是将该数的绝对值换成二进制取反再加1(最低为加1,如果最低位是1则往前以为加1,后一位为0)。

在这里插入图片描述
注意:符号为位0表示正数,为1表示负数
补充:内存中是以二进制存储的(常识:一个字节等于8bit)

eg:(1)求-10的补码
第一步:求10的原码:00001010
第二步:取反: 11110101
第三步:加1: 11110110 (如果最后一位为1,则向前找到不为1的以为加1,其后都为0)

知识点1:已知一个数的补码求原码,首先判断补码这个数是正数还是负数,如果是负数则需要减1,再取反则可以得到原码,如果补码是正数则就不在处理。---->(这里有点废话,可以方便理解)
知识点2:取反就是0变成1,1变成0

eg:(2)已知补码11110110,求出该数的原码,和值
第一步:该补码是负数则要减1(从最低位找出为1的数字,减1,后其余的数字都为1)
所以11110110减1为:11110101
第二步:取反:10001010
求值:符号位不用管,符号位以后要用二进制转换位10进制的方法计算出该值,然后再看符号位为1则是负数,为0则为正数。
在这里插入图片描述
所以该值的原码为10001010,值为-10。

eg:(3)已知补码10010110,求出该数的原码和值
第一步:减1:10010101
第二步:取反:11101010
求值:
在这里插入图片描述
所以该值的原码为11101010,值为-106。

新手上路,有错请多指教。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值