二进制加法是通过从数字的右侧开始添加数字来执行的,其方式与添加两个或多个以 10 为底的整数相同。 二进制加法中的位值以个、二、四、八、十六等形式给出。 我们首先添加个位列中的数字,然后向左,添加位列中的数字,然后是位列中的数字,依此类推。 唯一不同的是,当数字和超过 1 时,我们在这里重新分组。让我们在本文中详细了解指导二进制加法的规则以及溢出的概念。
什么是二进制加法?
除了它是以 2 为底的系统外,二进制加法运算的功能与以 10 为底的十进制系统相同。 二进制系统只有两个数字,1 和 0。它用于大多数计算机系统功能。 二进制代码使用数字 1 和 0 来打开和关闭特定进程。 换成以2为底,加法的过程与十进制极为相似。
在开始二进制加法程序之前,我们首先了解该位在二进制数字系统中的工作原理。 因为二进制运算是由当前大多数数字计算机和电子电路通过将每一位表示为电压信号来执行的。 位 0 表示“OFF”状态,而位 1 表示“ON”状态。
二进制数或 base-2 数字系统的算术运算之一是将两个或多个二进制数相加。 当我们在十进制加法中加上 3 + 2 时,我们得到 5。类似地,将它们的二进制等价物 (11)2 和 (10)2 相加,得到 (11)2 + (10)2 = (101)2,即 5以 10 为基数。 二进制加法和十进制加法的结果是一样的; 唯一的区别在于数字的位值。 二元加法的过程你会很熟悉; 唯一不同的是,在十进制数制中,当我们的数字之和超过 9 时,我们会重新组合下一位值,因为十进制系统使用从 0 到 9 的十位数字。但是,当组合二进制数时,我们会重新组合当数字的总和超过 1 时,下一个位值,因为二进制数字系统只允许两个数字,0 和 1。
二元加法规则
当您记住以下技巧或规则时,二进制加法比十进制加法容易得多。 使用这些规则,可以轻松添加任何二进制数。 二进制加法的四个规则是:
- 0 + 0 0
- 0 + 1 1
- 1 + 0 1
- 1 + 1 = 10
你如何进行二进制加法?
使用数字 0 和 1 的二进制数在计算机中用于存储和表示数据。 在学习二元加法的过程中出现了两种情况,分别是:
- 不重组的二元加法
- 二元加法重组
在不重新分组的情况下添加二进制值
当两位数之和为 0 或 1 时,我们在将两个或多个二进制值相加时不需要重新分组。 让我们添加 (101)2 和 (10)2,它们分别是 5 和 2 的二进制等价物。
步骤1: 根据位值将两个数字的所有数字写在单独的列中。
1 0 1
+ 1 0
----
----
步骤2: 从最右边的列数字 1 和 0 开始。应用二进制加法规则之一,即 1 + 0 = 1。
1 0 1
+ 1 0
----
1
----
步骤3: 移至左侧的下一列。 在这里,我们有两个数字 0 和 1。查看上面给出的规则,找出将在此处应用的规则。 应用一个二进制加法规则,即 0 + 1 = 1。
1 0 1
+ 1 0
----
1 1
----
步骤4: 现在,在最后一列中,我们只剩下 1,所以我们可以应用规则,1 + 0 = 1。
1 0 1
+ 1 0
----
1 1 1
----
因此,通过将 (101)2 与 (10)2 相加,我们得到 (111)2 作为最终答案。
二元加法重组
当两个或多个二进制数字的总和大于 0 或 1 时,需要重新分组。 为了更好地理解它,让我们将二进制整数 (1001)2 和 (111)2 相加。
步骤1:将两个二进制数的所有数字按照其位值分别写在单独的一列中,如下所示
1 0 0 1
+ 1 1 1
.............
第 2 步:从最右边的列开始,将 1 和 1 相加。遵循二进制加法规则,即 1 + 1 = 10。这相当于 2₁₀。 因此,我们将 0 写在底部,两个将 1 作为结转到下一个位值。
1
1 0 0 1
+ 1 1 1
.............
0
第 3 步:移至左侧的下一列。 遵循二进制加法规则,即 1 + 0 + 1 = 10。这又等同于 2₁₀。 因此,我们将 0 写在底部,两个将 1 作为结转到下一个位值。
1
1 0 0 1
+ 1 1 1
.............
0
第 4 步:再次移动到左侧的下一列。 遵循二进制加法规则,即 1 + 1 + 0 = 10。这又等同于 2₁₀。
1 1 1
1 0 0 1
+ 1 1 1
.............
0 0 0
第 5 步:再次移动到左侧的下一列。 遵循二进制加法规则,即 1 + 1 + 0 = 10。这又等同于 2₁₀。 由于它是最后一列,我们不会将 1 作为结转,而是将 10 作为结果写在底部。
1 1 1
1 0 0 1
+ 1 1 1
...............。
1 0 0 0 0
...............。
因此,\[1001_{2} + 111_{2} = 10000_{2}\]
二进制加法表
将两个二进制数 0 和 1 相加的表格如下:
x | y | x + y |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0(结转 1) |
从这张表可以看出,x 和 y 是两个二进制数。 所以当我们给出 x = 0 和 y = 0 的输入时,输出等于 0。当 x = 0 或 1 且 y = 1 或 0 时,则 x+y = 1。但是当 x 和 y 都是等于 1,则它们的加法等于 0,但结转数将等于 1,这意味着二进制加法基本上是 1 + 1 = 10,其中 1 进位到下一位。
二元加法的例子
二进制加法的几个例子如下:
例如1: 10001 + 11101
解决方案:
1
1 0 0 0 1
(+)1 1 1 0 1
--------
1 0 1 1 1 0
例如2: 10111 + 110001
解决方案:
1 1 1
1 0 1 1 1
(+) 1 1 0 0 0 1
--------
1 0 0 1 0 0 0
使用 1 的补码的二进制加法
- 数量 0 代表正号
- 数量 1 代表负号
正负数相加
情况 1:当正数具有更大的量值时
取负数的 1 的补码,并将进位加到结果和的 1 位置。 当您将进位与结果相加时,您将得到总和值。
示例:
+ 1111 和 -1101
+ 1 1 1 1 = 0 1 1 1 1
– 1 1 0 1 = 1 0 0 1 0(取 1 的补码)
-------
0 0 0 0 1
1
-------
0 0 0 1 0
因此,解为+0010。
- 情况 2:当负数具有更大的量值时
取负数的1补码,这种情况下不会有回位进位。 最后,对结果取1的补码得到和。
示例:
+ 1111 和 -1101
– 1 1 1 1 = 1 0 0 0 0(取 1 的补码)
+1 1 0 1 = 0 1 1 0 1
------
1 1 1 0
------
1 0 0 1 0(取 1 的补码)
两个负数相加
取两个负数的 1 的补码,然后相加。 carrying 的结尾会出现,它会在符号位中生成一个数字 1。 和值可以通过对结果取 1 的补码得到。
示例:
- -1010 和 – 0011
- 1 0 1 0 = 1 0 1 0 1(取 1 的补码)
- 0 0 1 1 = 1 1 1 0 0(取 1 的补码)
---------
1 0 0 0 1
1
----------
1 0 0 1 0
----------
1 1 1 0 1(取 1 的补码)
因此解决方案是 – 1101
二进制加法溢出
二进制加法中的溢出经常表现为最后的进位生成。 另一方面,溢出会导致总和不准确,而进位则不会。 如果理解不正确,这可能会有点令人困惑。 所以,让我们牢牢掌握溢出的概念。
假设您有一个半满的茶杯。 你的熟人有一个装有茶叶的容器。 他想知道你和他一共喝了多少茶。 结果,他把他的茶倒进了你的杯子里。 但是,茶的总体积大于杯子的大小。 当您的朋友将茶倒进您的杯子时,茶水开始溢出。 这里要记住的关键是,如果倒入的容器超过容器的容量,容器就会溢出。 这类似于二进制加法中的溢出思想。
让我们举个例子来理解这一点。
溢出解释
在前面的例子中,我们执行加法 120 + 62。答案应该是 182,如上图所示。 另一方面,二进制加法没有产生正确的和。 现在,尽管我们遵守了二进制算术的基本法则,但让我们找出哪里出了问题。
我们使用了数字的 8 位 2 的补码表示。 每个数字 (120, 62) 都可以使用 7 个幅度位来表示,其中一位留作符号(均为“0”)。 但是,结果的大小 (182 => 10110110) 需要 8 位。 因为是2的补码8位编码,所以符号位是总数的第8位。 因为总数中的符号位是'1',所以它是一个负数。 此外,总和的大小是不准确的。 现在计算出的总数是 -74,而实际结果是 182。是什么导致了这种情况发生?
这是因为 182 超出了可以用 8 个二进制位表示的有符号数的范围。 生成的和 182 需要 9 位才能以 2 的补码格式准确表示。 当我们从两个 n 位值开始并且总和占用 n+1 位时,我们会发生溢出。 在计算机中,溢出是一个问题,因为保存数字的位数是有限的,并且无法处理超过有限值 XNUMX 的结果。
溢出与最终结转
从哲学上讲,溢出和带出是同义词。 两者都暗示解决方案不适合分配的区域。 当最高有效位被执行时,产生执行。 当最高有效位有进位时,就会发生溢出。
在无符号数运算的实例中可以看出。 但是,总和在进位生成期间不会改变。 进位标志已升起。 包含结果的寄存器的内容与进位一起产生正确的和。
溢出发生在有符号数运算的情况下。 然而,由于溢出的形成,该量被破坏。 设置了溢出标志,表明结果是错误的。
结论,
二进制加法是二进制系统的基本运算之一。 正如我们所知,术语“二元运算”是指对两个操作数执行的基本数学运算。 二进制加法是通过从数字的右侧开始添加数字来执行的,其方式与添加两个或多个以 10 为底的整数相同。