二进制除法计算器
计算二进制整数除法,查看精确的二进制商、余数与十进制核对结果。
二进制数相除
输入无符号二进制被除数及非零二进制除数。
关于二进制除法
二进制除法计算一个二进制整数能包含多少个另一个整数,并将剩余部分表示为余数。它遵循与十进制长除法相同的结构,但商的每位只能是零或一。被除数是被分割的数,除数是用来相除的数,商是整数结果,余数则是不足以再组成一个完整除数的部分。
手算长除法时,从被除数的最高位开始,逐位移下数字,直到当前部分值至少等于除数。在商中写一,减去除数,再移下下一位。如果当前部分值小于除数,就在商中写零并继续。重复比较、相减和移位,从左向右得到商。最终剩下的部分值就是余数,必须小于除数。
以 1101 除以 11 为例,十进制中就是十三除以三。整数商为四,二进制写作 100,余数为一。可用定义恒等式核对:被除数等于除数乘以商再加余数。二进制表示为 1101 等于 11 乘以 100 加 1。若是 1100 除以 11,商仍为 100,但余数为零,因为十二能被三整除。
数字硬件可通过重复移位与条件减法实现除法。恢复余数法和不恢复余数法改进了中间余数的处理方式,现代处理器也可能采用更复杂的方法加快速度。被除数、除数、商与余数之间的基本关系始终不变。二进制除法在处理器设计、定点运算、地址计算、编码及底层优化中十分重要。
本计算器执行无符号整数除法,不追加商的小数位,而是给出精确的整数余数。若反复将余数左移并继续除法,就能产生二进制小数,类似于在十进制小数点后继续补位。保留整数商与余数,可避免决定应显示多少小数位,以及循环展开是否需要舍入。
除以零没有定义,因此除数至少要有一位为一。前导零不会影响数值。计算使用任意长度的精确整数,而非浮点数,因此实际应用中的较长输入也能可靠处理。将结果用于固定位宽硬件时,请注意有符号数需要补码等表示方式,并可能涉及本无符号计算器未模拟的特殊溢出规则。
二进制除法示例
示例展示整除及非零余数的情况。
| 除法 | 商与余数 | 十进制核对 |
|---|---|---|
| 1100 ÷ 11 | 商 100,余数 0 | 12 ÷ 3 = 4,恰好整除。 |
| 1101 ÷ 11 | 商 100,余数 1 | 13 = 3 × 4 + 1. |
| 101010 ÷ 101 | 商 1000,余数 10 | 42 = 5 × 8 + 2. |
| 1111 ÷ 10 | 商 111,余数 1 | 15 = 2 × 7 + 1. |
如何计算二进制除法
- 仅使用零和一输入二进制被除数。
- 用相同的无符号整数格式输入非零二进制除数。
- 选择“计算二进制除法”,执行精确整数除法。
- 查看商与余数,再用十进制核对结果确认。
二进制除法常见问题
如何验证商与余数?
将除数乘以商,再加上余数。总和必须等于原被除数,且余数必须小于除数。
为什么不能除以零?
任何数乘以零都不能还原非零被除数,因此无法为零除数定义唯一的有限商。
计算器会显示二进制小数位吗?
不会。它执行整数除法,将剩余部分保留为余数,结果精确且无歧义。
前导零会改变除法结果吗?
不会。前导零不会改变任一无符号操作数的值,也不会改变商与余数。
余数可以等于除数吗?
不可以。若余数至少等于除数,就还能再减去一个除数,说明商尚未计算完成。