美文网首页
为什么要用补码相加来表示减法运算

为什么要用补码相加来表示减法运算

作者: 莞工米兔 | 来源:发表于2019-06-12 14:17 被阅读0次

计算机运算器只有加法计算器没有减法计算器,因此减法运算要用负数相加代替。

最简单的例子:1-1=0,可以表示为1+(-1)=0,用8位二进制数表示1、-1的话,分别为0000 0001、1000 0001

最高位0、1分别表示正负,如果直接用0000 0001和1000 0001相加的话得到的结果并不为0,而我们知道两个相反数的和为0,这时候就需要计算机把这两个有符号的二进制数分别转换成各自的补码进行相加才能得到正确的结果0。

负数的补码等于其符号位不变,其余各位取反(即反码)再加1,如1000 0001→1111 1110→1111 1111

正数的补码和反码等于其原码,如:0000 0001→0000 0001

这时候1111 1111+0000 0001=0000 0000(忽略掉符号位的进位)得到正确的结果0.

相关文章

  • 为什么要用补码相加来表示减法运算

    计算机运算器只有加法计算器没有减法计算器,因此减法运算要用负数相加代替。 最简单的例子:1-1=0,可以表示为1+...

  • java 使用补码运算的前世今生

    前世今生 众所周知,java是使用补码来表示数字的(不包括字符型),数字的运算也是以补码形式进行的,那么为什么要用...

  • Lecture 4

    2.2 定点加法、减法运算 2.2.1 补码加法 2.2.2 补码减法 2.2.3 溢出概念与检测方法 2.3 定...

  • 原码,反码和补码

    在计算机内,有符号数有3种表示法:原码、反码和补码,所有数据的运算都是采用补码进行的。 正数的原码,反码,补码都相...

  • 负数为什么要用补码来表示?

    上篇文章讲了“负数在计算机中是怎么存储的”。看完之后,应该对原码,反码,补码有了基本的了解了。 今天,我们深入探讨...

  • 《计组》运算方法和运算器

    运算方法 1.定点数的加减法定点数的加减法很简单,可以归结为补码的加法运算。加法:(a+b) = [a]补+[b]...

  • 字符串知识点

    ·二进制补码基础 补码用于在计算机内表示负数, 负数 2的补码表示法可以将加法运算规则,扩展到整个整数集。 · 机...

  • 【加法笔记系列】JS 加法器模拟

    JS 加法器模拟,实现 半加器 全加器 波纹进位加法器 全部代码 补码 & 减法 常规位运算 位运算 & 简单的 ...

  • 补码、反码,傻傻分不清?

    补码 补码的意义在于表达负数,进而将相对麻烦的减法运算转换为计算机擅长的加法。 我们先来看看,如果单纯用「符号位+...

  • 溢出判断 基本运算方法

    符号位也要参加运算减法:那就是进行变补运算 然后进行加法运算 补码的相加减 原码的相加减 标准移码的相加减两个数的...

网友评论

      本文标题:为什么要用补码相加来表示减法运算

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