美文网首页
原码 反码 补码的简单计算附例题

原码 反码 补码的简单计算附例题

作者: Debug_EDM | 来源:发表于2020-06-30 20:25 被阅读0次

原码 反码 补码

  • 对计算机中常见数据简单分类
  • 机器数 与 真值
  • 原码
  • 反码
  • 补码
  • 扩展

对计算机常见数据的分类

image.png

机器数

就是数值在计算机中的二进制表现形式

机器数在计算机中有符号,使用 最高位表示符号 , 使用0 表示正,使用 1 表示负

一个字节8个bit位表示

+5 = 0000 0101

-10 = 1000 1010

真值

机器数所表示的真正的数值

如 : 1000 1010 = -10

原码

原码就是符号位加上真值的绝对值

反码

正数 : 正数的反码 = 原码 如: +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

相关文章

  • 原码 反码 补码的简单计算附例题

    原码 反码 补码 对计算机中常见数据简单分类 机器数 与 真值 原码 反码 补码 扩展 对计算机常见数据的分类 机...

  • 软件测评师做题技巧

    第一类补码,反码,原码 正数:原码=反码;补码=原码负数:反码=原码求反;补码=反码+1 第二类用例概率的计算 测...

  • 2018-10-22 Python31 原码、反码、补码

    原码、反码、补码 1)如何计算补码?规则: 正数:原码 = 反码 = 补码负数:反码 = 符号位不变,其他位取反补...

  • 计算机为什么要使用原码、反码、补码

    1. 什么是原码、反码、补码 先看一个例子: +1和-1的原码、反码、补码的表示 原码、反码、补码的计算方式如下:...

  • 位运算

    1.原码、反码、 补码正数的原码、反码、 补码都一样 正数以原码存储在计算机负数 以补码存储在计算机 例...

  • Java中高位转低位溢出的计算过程

    结果是: 计算机中是以补码进行计算 正数的反码补码都是原码,如:10原码: 1010反码: 1010补码:1010...

  • 进制关系

    各进制的形式 正数的原码、反码、补码相同 负数的反码为原码各位取反,补码为反码+1 计算机的底层都是以补码的方式来...

  • 原码、反码、补码和移码

    书中关于原码、反码、补码和移码的定义如下(n是机器字长):原码: 反码: 补码: 移码: 原码, 反码, 补码的基...

  • JAVA中负数的二进制表示

    计算机对有符号数(包括浮点数)的表示有三种方法:原码、反码和补码,反码=原码按位取反 补码=反码+1。 移码为补码...

  • 为什么byte的范围是-128~127?

    在研究这个问题前,首先需要知道计算机中的原码、反码、补码正数的原码、反码、补码都是本身负数的反码是将原码除符号位全...

网友评论

      本文标题:原码 反码 补码的简单计算附例题

      本文链接:https://www.haomeiwen.com/subject/qcqfqktx.html