计算机中-原码、反码、补码之间的转换
原码、机器码、反码、补码
机器码:
一个数在计算机中的二进制形式,机器码是带符号的,在计算机用机器码的最高位存放符号,正数为0,负数为1。如 0000 0011 和 1000 0011。
如
0000 0011 的机器码 = +000 0011 = +3
1000 0011 的机器码 = –000 0011 = –3。
原码:
其无符号位,为数值的二进制表示形式,用来转换对应的进制。
如:
[+3]原= 0000 0011
[-3]原= 1000 0011
注意:
+3为上文的 机器码 : +000 0011 = +3
-3为上文的 机器码: –000 0011 = –3
以下各类类同
反码:
符号位不变,进制码0变1,1变0叫做反码,反码用于原码补码之间的转换。
如:
[+3] = [0000 0011]原= [0000 0011]反
[-3] = [1000 0011]原= [1111 1100]反
补码:
符号位不变,在反码基础上加1,用来做数据的存储运算。
如:
[+3] = [0000 0011]原= [0000 0011]反= [0000 0011]补
[-3] = [1000 0011]原 = [1111 1100]反= [1111 1101]补
偏移码:
补码的符号位取反
运算规则
补码与反码运算时符号位1不变
原码(一个数的机器数就是它的原码,符号位正常为0或1 )、反码(正数的反码就是它的原码本身,负数的反码是除它的符号位以外各位取反)、补码(正数的补码是它的原码本身,负数的补码等于它的反码+1)
正数的二进制位: 原码 = 反码 = 补码
负数的二进制位: 原码 = 补码取反加1 ,给补码求原码
负数的二进制位: 补码 = 原码取反加1 ,给原码求补码
若要求***真值***: 最高位则是符号位,转为10进制时不算,但是表示时要表示为负值还是正值
注意: 原码,反码,补码,计算时连带符号位共8位数,注意进制转化时补0的位数。
汉字机内码:
要求两个字节的最高位都为1
——————————————————————————————————————
以上就是今日博客全部内容了
创作不易,若对您有帮助,还请打赏一二呢,感谢支持
更多推荐
所有评论(0)