计算机二进制除法除数为0,怎么做二进制数的除法运算

ae3228b3d0c36cc841599e98fc333206.png

1回顾十进制的长除法

十进制是以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。

20090cb2d72c6a858383d57140b0c190.png2列出二进制的长除法问题。

以10101 ÷ 11为例。将问题写成长除法形式,以10101为被除数,11为除数。在上面留出空处写商,下面写下计算过程。

6293f76698f1c3fdc0ff0fd3b02a6ffa.png

3比较除数和被除数的首位数。

二进制长除法的解题方法与十进制长除法一样,但实际上前者要简单得多。整除被除数时,每一位的结果要么等于0,要么等于1:

11 > 1,所以1“无法”整除11。在商的第一位,也就是被除数首位数字的上方,写一个0。

60795788e67728012e65f56d33ae8a50.png

4继续加入下一位数,直到结果为1。

以下是例题后面的计算怎么做二进制数的除法运算的方法:

结合被除数的下一位数。11 > 10。在商的位置再写一个0。

结合下一位数。11 < 101。在商的位置再写一个1。

f4ad3992c6ba8d06d484ea7f4ea47ea3.png

5计算余数。

和十进制的长除法一样,我们用刚刚算出的1乘以除数11,然后将结果与刚才计算中被除的几位数对齐,写到被除数下面。在二进制中,由于1乘以除数总是等于除数,我们可以将之简化:

在被除数下面写下除数。这里,我们将11与被除数的前三位数101对齐,写到它的下面。

计算101 - 11,得到余数10。如果需要复习二进制数的减法运算,可以参阅本网站的相关文章。

cbec0eaf4ea375e418d51ed6a1da4cd3.png

6重复这一怎么做二进制数的除法运算的方法,直至问题解决。

将被除数的下一位数与余数结合,得到100。由于11 < 100,所以在商的下一位数写1。使用之前的方法,继续计算:

在100下面写11,相减得到1。

结合被除数的最后一位数,得到11。

11 = 11,所以商或答案的最后一位数写1。

没有余数,因此问题得到解决。答案是

00111

,或者简化成111。

828b2f44c878c669bc2fdc2168f7e539.png

7如有必要,添加小数点。

有时,结果不是整数。如果使用最后一位数后仍有余数,就在被除数后面加”.0”,在商里面加”.”,这样,你可以再次结合下一位数,并继续计算。重复这一怎么做二进制数的除法运算的方法,直至答案足够精确,然后四舍五入。在纸上计算时,你可以去掉最后一位数的0,取整,如果最后一位数是1,就去掉这个1,然后在新的最后一位数字上加1。在编程中,请遵循某种四舍五入的标准算法,以避免在二进制数和十进制数之间转换时出错。

二进制除法的结果通常包含循环小数,这种情况比十进制数制多。

由于“小数点”(decimal point)只用于十进制,所以在任何其他数制中,我们会使用更通用的术语“小数点”(radix point)。

  • 0
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

专为程序员打造的计算器,二进制运算强大,支持64位。 采用表达式驱动,输入表达式便即时显示结果,抛弃传统计算器繁琐的按钮,表达式可粘贴或回调重复使用。 支持二进制串直接运算,如0b1101 & 0b0011= 0b0001。 支持与、或、非、异或、移位(循环、逻辑、算术),直接读写二进制位,指定位段读、写、置1、清0、反转。 二进制据表达方式多样,据可以K、M、G等单位为后缀。 支持类C语言库函调用。 结果可以各种进制、各种单位输出。 运算结果可存放在变量中。 内置常用生活函。 总之,此计算器相当于解释执行的C语言表达式,但用起来更方便、更高效。 使用前请仔细阅读窗口内的帮助,便可成为开发工作中的好帮手。 [程序员二进制计算器 v1.36 帮助] 一 用法 在底部框中输入要计算的表达式,会即时显示计算结果,当无结果时说明表达式输入有误。 按回车键保存该次输入、清空输入框,并显示详细结果,包括可能有的错误信息。 在底部框中按键盘上、下箭头,可以调出历史输入。 当光标在结果框内时,按回车或TAB键可使光标跳至输入框。 二 特点 即时计算。 便捷的历史回调、复制、粘贴功能。 支持64位整型运算,整有效范围为 -9223372036854775808 至 9223372036854774784。 三 的表示 1-整型表示法 如何表示二、八、十六进制整: (1)二进制0b或0B开头,后面的0、1字之间可以用空格分隔。 0b1001 = 9 0b 1001 0110 = 0x96 = 150 0B1001 0110% = 150% = 1.5 (2)八进制0开头: 010 = 8 027 + 7 = 23 + 7 = 30 (3)十六进制0x或0X开头: 0x10 = 16 -0XabEF * 2 = -44015 * 2 = -88030 2-浮点表示法 (1)小点前后的省略表示 3.14 3. = 3.0 .14 = 0.14 (2)用科学计法表示浮点 3e2 = 300 3e+2 = 300 3e-2 = 0.03 3.e2 = 300 3.e+2 = 300 3.14e-2 = 0.0314 .14e+2 = 14 3-字符型表示法 支持字符常量,字符型自动转换为整型(值为该字符的ASCII码),支持C/C++转义字符。 如何得到字符的ASCII码: 'a' = 97 'A' = 65 'a' + 3 = 100 'a' - 'A' = 32 '\''=39 '\"' = '"' = 34 '\? = '?' = 63 '\\' = 92 '\a' = 7 '\b' = 8 '\f' = 12 '\n' = 10 '\r' = 13 '\t' = 9 '\v' = 11 4-量词后缀表示 一个的后面,可以跟有倍率运算符,表示该乘以相应的倍,例如: 2w = 20000 (2万) 13y = 1300000000 (13亿) 4k = 4096 3% = 0.03 (百分之3) 详见“倍率运算”部分。 三 运算结果的输出格式 1-指定方法 格式: [格式前缀] 表达式 表达式前面可带有“格式前缀”(可选的),用来指定运算结果的输出格式。 “格式前缀”与C/C++的printf函基本相同,但不支持%s或%S。 当省略格式前缀时,默认按%g方式输出。此时对较小的按原样输出,较大的按科学计法输出。 2-整型的输出格式 当按二、八、十六进制输出时,是按其补码形式输出,最高位是符号位(正0、负为1)。 所以此法可得到一个负的补码表示。 (1)按二进制输出 %b或%B %b等价与%B。 %b 12 = 0b1100 %b 0xffffffff = 0b1111 1111 1111 1111 1111 1111 1111 1111 (2)按八进制输出 %o或%O %o等价与%O
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2021 CSDN 皮肤主题: 1024 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值