按位计算器
在两个整数上运行 AND、OR、XOR、NOT、左移或右移,并查看精确的十进制、十六进制和二进制结果——使用任意精度的 BigInt 数学运算,无 32 位截断。
输入
对于左移/右移,这是移位量 (0–1024)。对于 NOT 不使用。
输出
| 属性 | 值 |
|---|---|
| No data yet | |
使用指南
按位计算器将逻辑运算直接应用于数字的二进制表示形式(逐位),而不是将其视为普通的十进制值。此工具在两个整数上运行 AND、OR、XOR、NOT、左移和右移,并将结果显示为十进制、十六进制和二进制——对于调试位标志、权限掩码、网络子网、低级协议字段或学习二进制逻辑如何工作都很有用。
如何使用
输入数字 A(十进制,例如42,或十六进制,例如0x2A — 允许前导-),选择操作,然后输入数字 B — AND/OR/XOR 的第二个操作数,或左移/右移的移位量(对于 NOT 不使用,NOT 仅对数字 A 进行运算)。结果自动更新为十进制、十六进制和二进制。
操作
| A | B | AND | OR | XOR |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 1 |
| 1 | 0 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 |
- AND (
&) — 仅当两个输入位都是1时,位才为1。 - OR (
\|) — 当至少有一个输入位是1时,位为1。 - XOR (
^) — 当输入位不同时,位为1。 - NOT (
~) — 翻转单个数字的每一位(一元运算 — 数字 B 被忽略)。对于整数n,~n等于-(n + 1);例如~5是-6。 - Left Shift (
<<) — 将 A 的位向左移动 B 个位置,在右边用零填充。等于A × 2^B。 - Right Shift (
>>) — 将 A 的位向右移动 B 个位置,丢弃低位。等于除以2^B的整数除法,向负无穷大舍入(对负数也能正确工作)。
示例
12 AND 10:12 的二进制是1100,10 是1010。逐位比较:1100 & 1010 = 1000,即十进制的8。同样的两个数字用 OR 得到1110(14),用 XOR 得到0110(6)。
为什么使用 BigInt 而不是普通数字
许多按位计算器在运行操作前将数字强制转换为 32 位有符号整数,因为这是 JavaScript 本地按位运算符(&、|、^、~、<< 和>>)对普通Number 值执行的操作 — 任何大于约 21 亿(2^31)的值都会被无声地截断为错误的值。此工具改用 JavaScript 的BigInt 类型,其按位运算符没有固定宽度,因此结果始终精确,无论操作数有多大。
常见问题
为什么 NOT 会产生负数? 整数在概念上是二进制补码形式中的无限个前导1(负数)或0(正数)的流,因此翻转非负数的每一位总是产生负数。这是标准的二进制补码行为,不是错误。
有无符号右移(>>>)吗? 没有。无符号移位仅对固定位宽有意义(它以零填充而不是符号扩展),而此工具的数字没有固定宽度 — 这正是它能够正确处理任意大的值的原因。
允许的最大移位量是多少? 移位量上限为 1024,以保持每个结果可以瞬间计算;如此大的移位已经产生了超过 1000 位长的结果。
我可以使用十六进制输入吗? 可以 — 在任一数字前加上0x 前缀(例如0xFF)。无论您输入什么格式,输出始终以十进制、十六进制和二进制显示。
隐私
所有计算都在您的浏览器中使用标准 JavaScript 在本地运行 — 您输入的任何内容都不会被上传或保存。
在代码中使用
REST API
curl -X POST https://api.iotools.cloud/v1/tool/bitwise-calculator \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"numberA": "12",
"operation": "and",
"numberB": "10"
}'替换成您账户中的密钥。工具的字段即为请求体——没有额外包装。
让 AI 代理执行
Use the IOTools `bitwise-calculator` tool (Bitwise Calculator) on this input:
YOUR_INPUT_HERE将此粘贴给任何已连接 IOTools MCP 服务器的代理,再加上您的输入内容。
| 每次调用费用 | 3 积分起 |
|---|