这个二进制计算器能做什么
这款二进制计算器可以对两个二进制数(即以 2 为基数、只用 0 和 1 两个数字表示的数)进行四则运算。你只需输入两个二进制数值,选择加、减、乘、除四种运算中的一种,工具就会同时给出二进制结果及其对应的十进制值,并附上清晰的计算过程拆解。
输入项说明
- 第一个二进制数——左侧的运算数,例如
1010。 - 运算方式——可选择加法、减法、乘法或除法。
- 第二个二进制数——右侧的运算数,例如
11。
每个输入框只能填入 0 和 1。如果其中任意一栏出现其他字符,计算器将提示“无效的二进制输入”,而不会给出结果。
计算原理
该工具内部并不是逐位(bit-by-bit)地做运算,而是遵循三个简单步骤:
- 转换为十进制:把每个二进制字符串按 2 进制整数解析。
- 执行运算:对两个十进制数值进行加、减、乘或整数除法运算。除法采用整数(截断)除法,因此余数会被舍去;若除数为零,则返回“除数为零”。
- 转换回二进制:把运算结果由十进制转换成二进制字符串供显示,同时也会一并给出十进制结果。
$$\text{Result}_2 = \left( \text{Binary}_1 \right)_2 + \left( \text{Binary}_2 \right)_2$$
$$\text{Result}_2 = \left( \text{Binary}_1 \right)_2 - \left( \text{Binary}_2 \right)_2$$
$$\text{Result}_2 = \left( \text{Binary}_1 \right)_2 \times \left( \text{Binary}_2 \right)_2$$
$$\text{Result}_2 = \left\lfloor \frac{\left( \text{Binary}_1 \right)_2}{\left( \text{Binary}_2 \right)_2} \right\rfloor$$
实例演示
假设第一个二进制数 = 1010,运算方式 = 乘法,第二个二进制数 = 11。
1010转为十进制是 10。11转为十进制是 3。- \(10 \times 3 = 30\)。
- 30 转换回二进制是
11110。
$$\text{Result}_2 = (1010)_2 \times (11)_2 = (11110)_2 = 30$$
因此计算器显示的结果为 11110(二进制)和 30(十进制)。
二进制–十进制转换表
在二进制(基数为2)中,每一位数字(比特)代表2的一个幂。从右到左读取二进制数,各位的权值为\(2^0=1,\ 2^1=2,\ 2^2=4,\ 2^3=8,\ 2^4=16,\ \dots\)。要求十进制等值,将出现1的各位权值相加。
常见值
| 二进制 | 十进制 |
|---|---|
| 0 | 0 |
| 1 | 1 |
| 10 | 2 |
| 11 | 3 |
| 100 | 4 |
| 101 | 5 |
| 110 | 6 |
| 111 | 7 |
| 1000 | 8 |
| 1001 | 9 |
| 1010 | 10 |
| 1011 | 11 |
| 1100 | 12 |
| 1101 | 13 |
| 1110 | 14 |
| 1111 | 15 |
位权值(2的幂次)
| 二进制 | 幂次 | 十进制权值 |
|---|---|---|
| 1 | \(2^0\) | 1 |
| 10 | \(2^1\) | 2 |
| 100 | \(2^2\) | 4 |
| 1000 | \(2^3\) | 8 |
| 10000 | \(2^4\) | 16 |
| 100000 | \(2^5\) | 32 |
| 1000000 | \(2^6\) | 64 |
| 10000000 | \(2^7\) | 128 |
| 100000000 | \(2^8\) | 256 |
更多详细例题
加法: 1011 + 110
将每个操作数转换为十进制,相加,然后转换回二进制。
- \(1011_2 = 8+2+1 = 11_{10}\)
- \(110_2 = 4+2 = 6_{10}\)
- 相加: \(11 + 6 = 17_{10}\)
- 转换回来: \(17_{10} = 16+1 = 10001_2\)
按列加法确认了这个结果——将\(1011 + 0110\)相加会产生进位到高位,得到10001(十进制17)。
结果为负数的减法: 10 − 111
当第二个数较大时,结果为负数。
- \(10_2 = 2_{10}\)
- \(111_2 = 7_{10}\)
- 相减: \(2 - 7 = -5_{10}\)
- 将绝对值转换回来: \(5_{10} = 101_2\),所以答案是\(-101_2\)
\(10 - 111\)的结果是二进制-101(十进制\(-5\))。
整数除法,舍弃余数: 111 ÷ 10
二进制整数除法只保留整数商,舍弃余数。
- \(111_2 = 7_{10}\)
- \(10_2 = 2_{10}\)
- 相除: \(7 \div 2 = 3\)余\(1\);余数\(1\)被舍弃
- 将商转换回来: \(3_{10} = 11_2\)
因此\(111 \div 10 = \)11(二进制,十进制3,舍弃余数1)。
关键术语说明
- 二进制(基数2)
- 一种仅使用数字0和1的数值系统。每个位置代表2的一个幂,与十进制(基数10)系统相对,后者使用数字0–9。
- 比特
- 单个二进制数字——0或1。它是计算中最小的数据单位。
- 最高有效位(MSB)
- 二进制数最左边的比特;它具有最大的位权值,对数字的大小有最大的影响。
- 最低有效位(LSB)
- 最右边的比特,位权值为\(2^0=1\);它的影响最小,决定了该数是奇数还是偶数。
- 进位
- 当一列中的两个比特相加得到2或更大的数时,超出部分会进入下一个更高位。在二进制中,\(1+1=10\),所以该列显示0,1向左进位。
- 位权值
- 分配给每个数字位置的权重,等于2的一个幂:从右到左读取为\(1, 2, 4, 8, 16, \dots\)。
- 整数(截断)除法
- 只返回整数商并舍弃任何余数的除法。例如\(7 \div 2 = 3\),舍弃余数1。
- 十进制等值
- 二进制数的基数10数值,通过将出现1的各位权值相加得到——例如\(1011_2 = 8+2+1 = 11_{10}\)。
常见问题
除法的余数会怎么处理?除法基于整数运算,因此小数部分会被舍弃。例如 111(7)÷ 10(2)得到的是 11(3),而不是 3.5。
结果会出现负数吗?会的。用较小的数减去较大的数时会得到负的十进制值,这一点也会体现在所显示的二进制表示中。
为什么会提示“无效的二进制输入”?输入框只接受数字 0 和 1。空格、小数点,或 2 到 9 之间的数字都会触发该提示,请仔细检查你的输入内容。