如何对二进制数进行除法

Posted on
作者: Laura McKinney
创建日期: 10 四月 2021
更新日期: 1 七月 2024
Anonim
初一 8.3二进数的运算(乘除法)
视频: 初一 8.3二进数的运算(乘除法)

内容

本文内容:使用长除法使用两部分补码法

二进制数除法问题可以使用长除法解决,这是学习此过程或在计算机上创建简单程序的有用方法。否则,连续减法的补充方法提供了一种您可能不熟悉的方法,尽管它通常在编程中使用。机器语言通常使用估计算法来提高效率,但是在此我们将不对其进行描述。


阶段

方法1:使用长除法



  1. 复习带小数的长除法. 如果您很长时间没有使用带普通小数的长除法(以10为底),请使用以下示例修改基数:172÷4。否则,请跳过此步骤,转到下一个步骤以学习同样的过程也适用于二进制数。
    • 红利 除以 除数 这个操作的结果是 .
    • 将除数与股息的第一位比较。如果除数大于后者,则继续向除数增加十,直到除数变低。例如,在以下除法中:172÷4,我们应该比较4和1,请注意4> 1,然后比较4与17。
    • 将商的第一个数字写在您在比较中使用的股息的最后一个数字的上方。比较4和17,我们注意到数字4乘以4得出的结果小于17。因此,将4作为商的第一位写在7之上。
    • 执行相乘和相减以找到其余部分。商数乘以除数,在这种情况下为4 x 4 =16。将16写入17下,然后减去16-17找出余数1。
    • 重复操作。再一次,我们必须将除数(4)与下一个数字(1)进行比较,注意4> 1,然后“取回”被除数的下一个数字,这次将4与12进行比较。 4乘以3得到12,则什么也没有。商的下一个数字是3。答案是43。


  2. 把你的问题写得很长。 让我们使用以下示例:10 101÷11。将其写为长除法,用10 101代替红利,用11除数。留出空间来写商并在下面写您的计算。



  3. 将除数与股息的第一位比较。 它的工作方式类似于带小数的长除法,但实际上要容易一些。您不能将数字除以除数(0),也可以将其除以除数(1):
    • 11> 1,因此不能将1除以11。输入0作为商的第一位(在被乘数的第一位上方)


  4. 转到下一个数字并重复操作,直到得到1。 这是我们示例中的一些步骤:
    • 带回股息的下一位数字。 11> 10.用商写0
    • 带回下一个号码。 11 <101。用商写1


  5. 找到其余的。 对于小数点的长除法,将我们刚找到的数字(即1)乘以除数(即11),然后将结果写在被除数下,并与我们进行计算的数字对齐。对于二进制数,我们可以跳过此步骤,因为1乘以除数可得到除数。
    • 在除数下写除数。在我们的例子中,我们在股息的前三位数字(101)下第11行。
    • 计算101-11得到其余的10。


  6. 重复该操作,直到完成划分。 将除法器的下一位数字与其余的数字相乘,得到100。由于11 <100,请写1作为商的下一位数字。像以前一样继续进行划分。
    • 在数字100下写11,然后减去以得到1。
    • 将分红的最后一位取回11。
    • 11 = 11,然后写1作为最终商(结果)。
    • 没有休息,分裂就完成了。答案是 00111 或者只是111。



  7. 如有必要,请添加逗号。 有时结果不是整数。如果在加上最后一位数字后仍然有余数,请在被除数后面加上一个逗号,然后再加上一个零(“,0”),然后在商上加上一个逗号(“,”),以便可以回滚另一个数字并继续。重复该过程,直到达到所需的准确性,然后将结果取整。在纸上,您可以通过删除最后一个0来舍入结果,如果最后一个数字为1,则将其舍去并在新的最后一个数字上加上1。在编程中,请遵循一种标准算法进行四舍五入,以避免在二进制数字和小数之间进行转换时出错。
    • 二进制数的除法通常以一系列小数重复结束,而不是十进制写入。
    • 这是指术语“逗号二进制”的使用,等同于十进制系统中使用的经典逗号。

方法2:使用双向补充方法



  1. 了解基本概念。 解决除法(无论基于什么)的一种方法是,继续从股息中减去除数,然后再除以余数,同时在获得负数之前先计算可除数。这是一个以10为底的示例,用于求解除法26÷7:
    • 26-7 = 19(减去 1 次)
    • 19 - 7 = 12 (2),
    • 12 - 7 = 5 (3),
    • 5-7 = -2。您得到一个负数,这就是为什么您必须返回。答案是 3 其余为5。请注意,此方法不会计算结果的非整数部分。


  2. 学会减去两个补品。 如果可以轻松地将上述方法与二进制数一起使用,则可以使用更有效的方法进行减法,这将在对计算机进行二进制数除法编程时节省时间。这是两个补码相减的方法。这是计算111-011的基本原理(确保两个数字的长度相同)。
    • 找到第二项的补码,然后从1中减去每个数字。使用二进制数很容易做到。足以将1替换为0,将0替换为1。在我们的示例中,011变为100。
    • 将1加到结果中:100 + 1 =101。这称为双向补充法,可用于执行减法运算。毕竟,这基本上就像我们添加负数而不是减去正数一样。
    • 将结果与第一个数字相加。编写并求解加法:111 + 101 = 1,100。
    • 除去约束。传播答案的第一个数字以获得最终结果。 1,100→ 100.


  3. 结合之前的两个概念。 现在您已经知道了用于解决长除法的减法以及用于解决减法的双向补法,您可以按照以下步骤将这两种方法结合起来以解决除法问题。如果需要,您可以尝试自己查找,然后继续。


  4. 从红利中减去除数,添加两个补码。 以除法100 011÷000 101为例。第一步是解决操作100 011-000 101,由于两个补码的方法,我们还将对其进行转换:
    • 000101 = 111010 + 1 = 111011的两个补码
    • 100 011 + 111 011 = 1 011 110
    • 取下固定器→011110


  5. 将1加到商中。 现在描述一个程序,在这里您可以将商数从1增加到1。将其写在一张纸的一角,这样就不会将它与其他作业混合使用。我们设法进行了第一次减法,所以商是 1.


  6. 通过从其余部分减去除数来重复该操作。 我们最后一次计算的结果是除数被“放置”一次后的余数。每次继续添加两个分隔补品,然后取下固定器。每次在商上加1,然后重复直到得到等于或小于除数的余数:
    • 011110 + 111011 = 1011001→011001(商 1+1=10)
    • 011001 + 111011 = 010100→010100(商 10+1=11)
    • 010 100 + 111 011 = 1 001 111 → 001 111 (11+1=100)
    • 001 111 + 111 011 = 1 001 010 → 001 010 (100+1=101)
    • 001 010 + 111 011 = 10 000 101 → 0 000 101 (101+1=110)
    • 0 000 101 + 111 011 = 1 000 000 → 000 000 (110+1=111)
    • 0小于101,因此我们从此处停止。商 111 是分裂的结果。其余部分是我们相减的最终结果,因此等于0(因此一无所有)。