二进制计算器
支持任意大小整数的二进制计算器:加、减、乘、除、AND、OR、XOR、NOT 和位移,结果同时以二进制、十六进制、十进制和八进制显示。
选择 8/16/32/64 位可查看补码形式(适用于 NOT 运算和负数)。
结果
结果 (二进制)
1 0000
二进制
1 0000
十六进制
10
十进制
16
八进制
20
输入的十进制值
A = 10, B = 6
假设与计算方法
- 任意精度整数(BigInt)。除法向零取整。选择位宽后,结果按位宽截断并以二进制补码显示。
什么是 二进制计算器?
对两个任意长度的二进制数执行算术和位运算,并以二进制(按 4 位分组)、十六进制、十进制和八进制显示结果。可选的 8/16/32/64 位位宽可显示补码结果。
如何使用 二进制计算器
- 以二进制输入数字 A(可选
0b前缀,允许空格和下划线)。 - 选择运算:+、−、×、÷、mod、AND、OR、XOR、NOT、<< 或 >>。
- 输入数字 B(NOT 不需要),并可选择位宽。
示例
输入
1010 + 0110
输出
1 0000 (hex 10, decimal 16, octal 20)
1010 + 0110 = 10000(十进制 10 + 6 = 16)
何时使用 二进制计算器
适用于数字逻辑作业、位掩码、标志位和底层代码的检查。如果只是在不同进制间转换单个数字而不做运算,进制转换器更简单。
二进制计算器 的工作原理
输入会被解析为 JavaScript BigInt 值,因此没有 32 位或 53 位的限制。除法向零截断,mod 的符号与 A 一致,与大多数编程语言相同。NOT 为 ~A = −A − 1。指定位宽 w 时,结果用 BigInt.asUintN(w) 回绕并以无符号位模式显示,同时给出带符号(补码)的十进制值。位移量限制在 0–4096 位。
常见用例
- 二进制加法并检查进位
- 用 AND/OR/XOR 计算掩码
- 查看 8 位 NOT 的补码
- 对数值左移或右移
常见问题
负数如何显示?
不指定位宽时,负数带负号显示(−101)。指定位宽时,则显示为补码位模式,并附带带符号的十进制值。
为什么 NOT 101 得到负数?
位宽不受限时,NOT 会翻转无限多个前导零,得到 −6。选择 8 位可看到 1111 1010(无符号 250,带符号 −6)。
有大小限制吗?
实际上没有:BigInt 可以处理数百位数字。只有位移量被限制在 4096 以内,以保证结果合理。