美文网首页
原码、反码、补码

原码、反码、补码

作者: 简子逍 | 来源:发表于2020-08-04 12:12 被阅读0次

有符号数表示方法:原码、反码、补码

表示方法组成:符号位、数值位

正数:三者相同(0001)

负数

  • 原码:符号位为1 (1001)
  • 反码:除符号位,取反(1110)
  • 补码:反码加1(1111)

原码虽然可以表示正负,但是符号位无法参与运算(计算时要先辨别符号位,再做数值位的加减运算);为了避免计算机再编码一套二进制减法的运算规则,可以通过补码将减法转化为加法运算。减去一个数等于加上这个数的相反数(十进制:负数,二进制:补码)。

1 - 1 -> 1 + -1(负数)

0001 - 1001(原码) -> 0001 + 1111(补码)

在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。

实现原理:计算机二进制运算有位数上限(数值部分),溢出部分直接丢弃(参与符号运算)。

反观十进制减法,虽然有等于加上减数的负数这一概念,但是我们在计算过程中,本质上并没有做什么加法运算,不过是靠着小学时背的减法口诀表做了一次减法运算。整个过程相当于先判断加减,再做运算。当然计算机也可以这么做,不过考虑到效率问题,统一按加法处理了(正好利用了溢出这个缺陷)。

你可以理解为计算机只会加法运算(移位),除法转成减法,减法转成加法,乘法转成加法。

相关文章

  • 软件测评师做题技巧

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

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

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

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

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

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

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

  • 补码

    原码、反码、补码 原码:符号位 反码:减法变加法 补码:+1解决-0问题 数学原理 同余 反码:mod127 补码...

  • 【计算机】我的收藏文章索引

    索引表 索引标题链接摘要原码、反码、补码《原码、反码、补码,详解》http://www.cnblogs.com/z...

  • [计基]-二进制之补码

    一.基础名词 原码 : 0011 反码 :0011(原码) >> 1100(反码) (原码按位取反) 补码 :00...

  • 技术问 - 原码、反码、补码

    什么是原码、反码、补码:

  • 位运算

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

  • 原码、反码和补码

    正数的原码、反码和补码相同,亦是正数 负数的原码、反码和补码符号位为1,代表负数,反码在原码的基础上符号位不变,其...

网友评论

      本文标题:原码、反码、补码

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