二进制如何减法 二进制减法怎么算的

回顾十进制的长除法 。十进制是以10为基数的数制 , 我们日常使用的数字都是十进制数字 。如果你已经很久没有做过长除法 , 不妨利用算题172 ÷ 4来复习一下 。如果你对这部分的内容十分熟悉 , 请直接跳到下一步 , 学习二进制的长除法 。
被除数除以除数 , 所得结果为商 。

二进制如何减法 二进制减法怎么算的

文章插图
比较除数和被除数的首位数 。如果除数比较大 , 就继续将下一位数加到被除数中 , 直至被除数大于被除数 。例如 , 用172 ÷ 4时 , 我们会比较4和1 , 发现4 > 1后 , 就比较4和17 。
在比较的被除数的最后一位上写下商的首位数 。比较4和17 , 我们发现17整除4得4 , 因此 , 我们将商的首位数4写到7的上面 。
【二进制如何减法 二进制减法怎么算的】相乘和相减后得到余数 。用商的位值乘以除数 , 本题中即4 x 4 = 16 。在17下面写16 , 然后用17 – 16 , 得到余数1 。
重复 。再次将除数4与余数1比较 , 发现4 > 1 , “结合”被除数的下一位数 , 然后比较4和12 。12是4的三倍 , 而且没有余数 , 所以将3写作商的下一位数 。答案是43 。
列出二进制的长除法问题 。以10101 ÷ 11为例 。将问题写成长除法形式 , 以10101为被除数 , 11为除数 。在上面留出空处写商 , 下面写下计算过程 。
比较除数和被除数的首位数 。二进制长除法的解题方法与十进制长除法一样 , 但实际上前者要简单得多 。整除被除数时 , 每一位的结果要么等于0 , 要么等于1:
11 > 1 , 所以1“无法”整除11 。在商的第一位 , 也就是被除数首位数字的上方 , 写一个0 。
继续加入下一位数 , 直到结果为1 。以下是例题后面的计算步骤:
结合被除数的下一位数 。11 > 10 。在商的位置再写一个0 。
结合下一位数 。11 < 101 。在商的位置再写一个1 。
计算余数 。和十进制的乘除法一样 , 我们用刚刚算出的1乘以除数11 , 然后将结果与刚才计算中被除的几位数对齐 , 写到被除数下面 。在二进制中 , 由于1乘以除数总是等于除数 , 我们可以将之简化:
在被除数下面写下除数 。这里 , 我们将11与被除数的前三位数101对齐 , 写到它的下面 。
计算101 – 11 , 得到余数10 。如果需要复习二进制数的减法运算 , 可以参阅本网站的相关文章 。
重复这一步骤 , 直至问题解决 。将被除数的下一位数与余数结合 , 得到100 。由于11 < 100 , 所以在商的下一位数写1 。使用之前的方法 , 继续计算:
在100下面写11 , 相减得到1 。
结合被除数的最后一位数 , 得到11 。
11 = 11 , 所以商或答案的最后一位数写1 。
没有余数 , 因此问题得到解决 。答案是00111 , 或者简化成111 。
如有必要 , 添加小数点 。有时 , 结果不是整数 。如果使用最后一位数后仍有余数 , 就在被除数后面加”.0” , 在上面加”.” , 这样 , 你可以再次结合下一位数 , 并继续计算 。重复这一步骤 , 直至答案足够精确 , 然后四舍五入 。在纸上计算时 , 你可以去掉最后一位数的0 , 取整 , 如果最后一位数是1 , 就去掉这个1 , 然后在新的最后一位数字上加1 。在编程中 , 请遵循某种四舍五入的标准算法 , 以避免在二进制数和十进制数之间转换时出错 。[3]
二进制除法的结果通常包含循环小数 , 这种情况比十进制数制多 。[4]
由于“小数点”(decimal point)只用于十进制 , 所以在任何其他数制中 , 我们会使用更通用的术语“小数点”(radix point) 。

    推荐阅读