完整使用说明
二进制计算器使用指南
了解二进制、八进制、十进制和十六进制转换,以及二进制算术和 AND、OR、XOR 位运算的输入格式、示例和数值边界。
完整使用说明
这个计算器能做什么
二进制计算器对应两个清晰的搜索意图:
- 进制转换:输入一个非负整数和它的进制,在二进制(BIN)、八进制(OCT)、十进制(DEC)和十六进制(HEX)之间改写表示。例如十进制
42会显示为二进制101010、八进制52、十六进制2A。 - 二进制运算:输入两个二进制整数,选择
+、−、×、÷、AND、OR或XOR,查看二进制结果和对应的十进制结果。
页面适合学习进制、检查位掩码和快速验算。它处理的是普通整数,不是带符号格式、浮点数、任意精度大整数或完整的程序员计算器。
什么时候适合用它
- 核对
42、101010、52和2A是否代表同一个整数。 - 学习二进制加法、减法、乘法、整数除法和基础位运算。
- 检查 AND、OR、XOR 掩码的结果。
- 需要同时观察位模式和十进制数值。
输入项说明
转换模式
先选择输入进制,再输入一个非负整数。允许的字符取决于进制:二进制只能是 0–1,八进制是 0–7,十进制是 0–9,十六进制是 0–9 和 A–F(大小写都可以输入,页面会转成大写显示)。
当前输入框不解析 0b、0o、0x 前缀,不解析负号、小数点、空格、逗号或科学记数法。输入的意义是“一个整数的数字串”,不是 JavaScript 或 Python 的完整数字字面量。
二进制运算模式
操作数 A、B 只能包含 0 和 1。选择的运算符决定页面如何处理这两个整数:
+、−、×:普通整数算术。÷:非负整数的整数商,结果向下取整。AND:两个位置都为1时保留1。OR:任一位置为1时保留1。XOR:两个位置不同才保留1。
位运算建议使用不超过 32 位的输入,因为底层 JavaScript 位运算按 32 位有符号整数处理。
计算逻辑说明
一个以 d_nd_{n-1}...d_0 表示的 b 进制整数,其值为:
[ \sum_{i=0}^{n}d_i b^i ]
转换模式先把输入解析为一个 JavaScript 整数,再分别用 2、8、10、16 进制格式输出。四张转换结果卡片描述的是同一个值,不是四次不同计算。
运算模式先把 A、B 按二进制解析为整数,再执行选择的运算。加减乘法保留整数结果;除法使用 Math.floor(A/B) 的整数商。AND、OR、XOR 遵循 JavaScript 位运算的 32 位有符号语义,因此高位可能影响符号,超过 32 位的输入也可能被截断。
页面通过 URL 保存模式、输入进制、输入值、操作数和运算符,分享链接可以恢复同一组输入。结果卡片中的复制按钮只复制当前显示值。
示例
单个十进制数转换
在转换模式选择十进制并输入 42:
[ 42_{10}=101010_2=52_8=2A_{16} ]
页面会在 BIN、OCT、DEC、HEX 四张卡片中分别显示这些写法。
二进制加法
输入 A=1010、B=0110、运算符为 +:
[ 1010_2+0110_2=10000_2=16_{10} ]
AND、OR、XOR
仍以 1010 和 0110 为例:
[ 1010\ \text{AND}\ 0110=0010_2=2_{10} ]
页面会省略结果前面的无意义零,通常显示二进制 10,十进制显示 2。相同输入的 OR 结果为 1110(14),XOR 结果为 1100(12)。
整数除法与负数结果
输入 1011 ÷ 0010 时,十进制计算是 11 ÷ 2,页面返回整数商 5,二进制显示 101,不显示余数。
输入 0010 − 0101 时,结果是十进制 -3,二进制字符串显示为 -11。这不是固定宽度的补码显示;需要补码、位宽或无符号解释时,应使用专门的程序员计算器。
如何看懂结果
- BIN / OCT / DEC / HEX:同一个转换值的四种表示,分别对应 2、8、10、16 进制。
- 运算表达式:把两个操作数和所选运算符重新列出,方便核对输入。
- 二进制结果:适合观察位模式;结果可能没有前导零,也可能在负数时带
-。 - 十进制结果:适合确认普通整数大小;AND、OR、XOR 的高位结果可能按 32 位有符号规则显示为负数。
不要把 1010 和十进制 1010 混为一谈;同样的字符在不同进制下代表不同的值。
常见错误
- 在二进制输入里输入
2,或在八进制输入里输入8。 - 把
0x2A、0b101010或-42直接粘贴到转换框。 - 在运算模式输入十进制字符,而不是
0/1字符串。 - 期待除法显示小数或余数。
- 用超过 32 位的数做 AND、OR、XOR,却按任意长度位串理解结果。
- 用超出 JavaScript 安全整数范围的超长输入做精确验算。
FAQ
101010 和 42 是同一个数吗?
如果前者按二进制、后者按十进制解释,是的:101010₂=42₁₀。必须先确认输入进制。
十六进制能输入小写字母吗?
可以。输入会被转成大写形式显示,a 和 A 表示同一个十六进制数字。
为什么转换结果没有前导零?
页面显示的是数值的最短常规表示,不会自动补成 8 位、16 位或 32 位。前导零只影响排版,不改变数值。
位运算和普通加法有什么区别?
加法会产生进位并改变整体数值;AND、OR、XOR 是逐位比较两个整数的位模式。两者的结果通常不同,即使输入看起来相似。
这个页面能作为任意精度或补码工具吗?
不能。它主要用于普通整数学习和快速检查;任意精度、固定 8/16/32/64 位、补码/无符号切换、移位、NOT 或余数需要专门工具。
说明与限制
本页只接受非负整数的进制转换和二进制字符串运算。转换和算术结果依赖 JavaScript Number,超出安全整数范围可能失去精度;AND、OR、XOR 使用 32 位有符号位运算,超出 32 位的输入不应视为完整位串计算。
页面不支持小数、负数输入、0b/0o/0x 前缀、补码位宽、无符号/有符号切换、NOT、左移/右移、余数、浮点二进制、任意精度大整数或逐位步骤动画。需要更通用的数学表达式时,可使用数学表达式计算器;需要进制以外的整数关系,可参考绝对值计算器、有效数字计算器和十进制分数转换计算器。
常见问题
这个页面支持哪些功能?
支持二进制、八进制、十进制和十六进制之间的单值转换,以及两个二进制整数的加减乘除、AND、OR、XOR。
输入值可以带 0b、0x 或负号吗?
不可以。转换模式只接受当前进制对应的非负整数字符;运算模式只接受由 0 和 1 组成的二进制字符串。
二进制除法为什么没有小数?
当前实现对非负整数使用向下取整的整数商,不显示小数部分,也不提供余数卡片。
AND、OR、XOR 支持任意长度吗?
不应当这样理解。位运算使用 JavaScript 的 32 位有符号运算语义;超出 32 位时可能被截断,建议只输入不超过 32 位的操作数。
很大的进制数能保证精确吗?
页面通过 JavaScript Number 解析整数;超出安全整数范围的超长输入可能出现精度损失,不适合任意精度或大整数验算。