计算器

简短的回答

二进制以 2 为基数:每个数字(位)都是 0 或 1,每个位置代表 2 的幂。二进制的 1010 等于十进制的 1×8 + 0×4 + 1×2 + 0×1 = 10。该计算器可处理二进制算术、按位逻辑(AND、OR、XOR、NOT)、位移位以及十进制、十六进制和八进制的即时转换。

要点

  • 值的上限为 32 位有符号整数范围(-2,147,483,648 到 2,147,483,647)——超出该范围的二进制字符串将被拒绝,而不是默默地被截断。
  • 按位 AND/OR/XOR 逐位比较数字,与算术加法或乘法不同 - 1010 AND 0110 等于 0010,而不是 16。
  • 左移 n 相当于乘以 2ⁿ;右移 n 相当于整数(下取整)除以 2ⁿ。
  • 每个十六进制数字正好映射到 4 个二进制位,一旦您知道 16 个四位模式,这使得十六进制到二进制的转换变得机械化。

二进制位值的工作原理

就像小数位值使用十的幂一样,二进制位值使用二的幂。从右向左读取8位数字10110101:

128 64 32 16 8 4 2 1
10110101

将 1 处的位置值相加:128 + 32 + 16 + 4 + 1 = 181。因此二进制 10110101 等于十进制 181。

位运算与算术运算

手术 它的作用 例子
AND (&)仅当两位均为 1 时才为 11010 & 0110 = 0010
OR (|)1,其中任一位为 11010 | 0110 = 1110
XOR (^)1 位不同的地方1010 ^ 0110 = 1100
左移 (<<)左移位,填充0(×2ⁿ)0011 << 2 = 1100
右移 (>>)右移位(÷2ⁿ,向下舍入)1100 >> 2 = 0011

按位运算比较或移位各个位 - 它们不像加法那样在位置之间进行传送,这就是为什么 1010 AND 0110 落在 0010 而不是任何类似于和的东西。

要避免的常见错误

  • 将按位 AND/OR 视为算术加法或乘法 - 它们逐位运算,不带进位。
  • 忘记 32 位有符号范围上限 - 超过 31 个的二进制字符串将溢出支持的范围并返回错误。
  • 期望按位 NOT 只是翻转打印的数字 - 在二进制补码表示中,对正数进行 NOT 运算会产生负数,而不是简单的数字反转。
  • 假设右移轮次 — 它会将负数向负无穷大截断(向下取整),因此 7 >> 1 = 3,而不是 3.5 或 4。

常见问题解答

什么是二进制数系统?

二进制仅使用数字 0 和 1。每个位置代表 2 的幂,因此二进制的 1010 等于十进制的 1×8 + 0×4 + 1×2 + 0×1 = 10。

为什么计算机使用二进制?

电子电路自然地代表两种状态——开或关——清楚地映射到 1 和 0。二进制是数字硬件的本机语言。

如何添加二进制数?

像十进制一样逐列相加,但当和为 2 或以上时进位:二进制 1 + 1 = 10(写入 0,进位 1)。

什么是二进制补码?

二进制补码是计算机存储有符号整数的标准方式。最左边的位表示符号,负值通过反转位并加一来编码。

如何使用这个二进制计算器?

输入二进制值或选择转换模式,选择运算,然后单击“计算”以并排查看二进制和十进制结果。

如何快速将十六进制转换为二进制?

每个十六进制数字正好映射到 4 个二进制位,因此逐位转换而不是一次转换整个数字。 0x2F 变为 0010(代表 2),然后是 1111(代表 F),二进制形式为 00101111 — 等于十进制的 47。

More math calculators