进制转换 / 位运算

二进制 / 八进制 / 十进制 / 十六进制实时互转,支持按位与/或/异或/移位运算

二进制 (BIN)仅 0/1
八进制 (OCT)0~7
十进制 (DEC)默认
十六进制 (HEX)0~9 A~F
数值特征
十进制值
—
字节长度
—
二进制位数
—
符号
—
奇偶
—
正负零
—
位运算输入第二个操作数后实时计算
DEC
&按位与
—
AND - 两位都为 1 才为 1
|按位或
—
OR - 任一为 1 即为 1
^按位异或
—
XOR - 不同为 1,相同为 0
~按位取反
—
NOT - 0/1 互换(32 位补码)
<<左移
—
A 左移 1 位,等价于 A × 2^1
>>右移(算术)
—
A 右移 1 位,保留符号位
>>>右移(无符号)
—
A 右移 1 位,高位补 0
位

工具介绍

常见进制速览

二进制 (BIN, radix-2)仅 0/1,计算机底层表示,前缀可写 0b(如 0b1010)
八进制 (OCT, radix-8)数字 0~7,Unix 文件权限常用(如 0755),前缀 0o
十进制 (DEC, radix-10)人类日常使用,无前缀
十六进制 (HEX, radix-16)数字 0~9 + A~F,颜色码、内存地址、UUID 片段常用,前缀 0x

常见用途

位运算调试颜色码转换权限位解析内存地址数据编码网络协议算法竞赛

常见问题

Q:为什么改了 BIN 框,DEC 没变?

本工具四个输入框是双向联动的:任意一个变动,会以该值作为「源进制」反推到内部十进制值,再刷新其他三栏。如果 BIN 框输入合法但 DEC 没变,可能是输入含非法字符(如 BIN 出现 2/3)。

Q:位运算溢出怎么办?

JavaScript 中所有位运算都是 32 位有符号整数,超出范围会自动截断(高位丢弃)。本工具结果也按 32 位展示。需 64 位运算请用 BigInt(超出本工具范围)。

Q:为什么负数 BIN 是 32 位?

JavaScript 位运算使用 32 位补码表示:-1 的二进制是 32 个 1(0xFFFFFFFF)。负数在本工具会显示完整 32 位以避免歧义。