二进制加法计算器
将两个二进制整数相加,并用十进制值核对以2为基数的和。
二进制数相加
输入两个仅含零和一的无符号二进制整数。
关于二进制加法
二进制加法将以2为基数的数相加,采用与十进制加法相同的位值原理,但每一位表示二的幂,而非十的幂,每个数字只能是零或一。四种基本情况很简单:零加零为零,零加一为一,一加零为一,一加一为二进制的十。最后一种情况中,在当前位写零,向左边下一位进一。
手算较长数值时,将最右端对齐,从右向左逐位相加,并计入前一位的进位。如果某位是一加一再加进位,总和为十进制的三,即二进制的十一,因此写一并进一。继续运算,直到处理完所有位及最后的进位。基础数字硬件中的行波进位加法器正是执行这一过程,现代处理器则采用更快的超前进位与并行前缀电路。
例如,1011与0101相加时,从右侧开始。一加一得零并进一;下一位是一加零再加进位,得零并再次进一;再下一位是零加一再加进位,仍得零并进一;最左位是一加零再加进位,得到二进制的十。最终读得10000。十进制核对为十一加五等于十六。
二进制加法是计算机算术的基础。减法可通过加上二进制补码实现,乘法可由移位加法构成,地址计算会反复将偏移量加到基址上。校验和、计数器、定时器、图形运算及密码算法都依赖位级加法。理解进位规则,有助于理解许多其他底层运算。
本计算器将输入视为无符号整数,通过精确整数运算处理实际可用的任意长度。前导零不会改变数值,因此00101与101都表示五。本计算器不处理二进制小数或有符号补码解释。在固定字长硬件中,结果可能比更长的操作数多一位。如果舍弃该额外进位,存储的结果会按所选字长对应的模数回绕。
与二进制结果一起显示的十进制值,是便于核对的另一种精确表示,并非独立的近似值。可将两个输入分别转为十进制、相加,再把总和转回二进制来验证。二的幂尤其适合核对:对一串连续的一加一,会将这些一变成零,并在最前面产生一个新的一。
二进制加法示例
示例展示进位传递及十进制核对。
| 加法 | 二进制和 | 十进制核对 |
|---|---|---|
| 1011 + 101 | 10000 | 11 + 5 = 16. |
| 1 + 1 | 10 | 1 + 1 = 2,并产生一次进位。 |
| 1111 + 1 | 10000 | 15 + 1 = 16,进位贯穿每一位。 |
| 101010 + 110 | 110000 | 42 + 6 = 48. |
如何将二进制数相加
- 输入第一个无符号二进制整数,只使用零和一。
- 输入第二个二进制整数,并在理解运算时将它的最低位与第一个数对齐。
- 选择“计算二进制和”,求出精确的以2为基数的结果。
- 查看二进制和,并用显示的十进制值快速核对。
二进制加法常见问题
二进制中一加一是多少?
一加一在二进制中写作10。当前位保留零,并向左进一。
前导零会影响答案吗?
不会。前导零不改变二进制整数的值,就像它不改变十进制整数一样。
如何核对二进制和?
将两个输入转成十进制后相加,再将总和转回二进制。计算器显示十进制值,正是为了方便核对。
二进制加法会溢出吗?
当总和需要额外的最高位时,固定字长寄存器可能溢出。本计算器显示完整结果,不会舍弃该进位。
支持负二进制数吗?
输入会按无符号整数解释。负值需要约定有符号表示方式,例如二进制补码,并指定固定的位宽。