原码反码补码的简单计算附例题原码反码补码
对计算机中常见数据简单分类
机器数 与 真值
原码
反码
补码
扩展
对计算机常见数据的分类
机器数
就是数值在计算机中的⼆进制表现形式
机器数在计算机中有符号,使⽤ 最⾼位表⽰符号 , 使⽤0 表⽰正,使⽤ 1 表⽰负
⼀个字节8个bit位表⽰
+5 = 0000 0101
-10 = 1000 1010
真值
机器数所表⽰的真正的数值
如 : 1000 1010 = -10
原码
原码就是符号位加上真值的绝对值
负75的补码怎么求反码
正数 : 正数的反码 = 原码 如: +3 = 0000 0011[原码] = 0000 0011 [反码]
负数 : 符号为不变 ,其余各位直接取反 , 1->0 0->1
补码
计算机中数据以补码的形式,同样以补码的形式参与运算
正数 : 原码 = 反码 = 补码 如 : +3 0000 0011[原码] = 0000 0011[反码] = 0000 0011[补码]负数 : ⾸先求的反码,在反码的基础上 + 1,[加到最低位上]
为什么需要反码和补码
反码
在计算机的时候,只有加法器没有减法器,为了将减法转换为加法,设计反码;
但是反码有缺陷,正负相加 0 的表⽰不唯⼀;
补码
为了解决反码正负相加不唯⼀的情况,使⽤⾼位溢出解决;
将补码转换为原码
正数 : 不需要转
负数 : 求补码的补码
将负数的补码当做原码,然后求该原码的补码
计算规则 :符号位不变,其余各位直接取反,然后加1;
使⽤补码计算以下式⼦
34 - 11 = 23 = 34+(-11)
34的原码反码补码都相同为 0010 0010
-11的原码为1000 1011
反码为1111 0100
补码为1111 0101
俩补码相加得0001 0111 = 23
-67-11 = -78 = -67+(-11)
-67得原码为1100 0011
反码为1011 1100
补码为1011 1101
-11的原码为1000 1011
反码为1111 0100
补码为1111 0101
俩补码相加得 1100 1110 == -78
-41-29 = -70 =-41+(-29)
-
41的原码为 1010 1001
反码 得1101 0110
补码得 1101 0111
-29的原码为1001 1101
反码为1110 0010
补码为1110 0011
俩补码相加得 1100 0110 = -70
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论