这是什么、何时使用
程序员计算器处理机器整数:同一个值会以十六进制、十进制、八进制和二进制同时显示,并支持位运算符 AND、OR、XOR、NOT、NAND、NOR、移位(<<、>>)和循环移位(ROL、ROR)。数值保存在 64 位 QWORD、32 位 DWORD、16 位 WORD 或 8 位 BYTE 中。
它适用于寄存器转储、位掩码、子网掩码、颜色通道和文件权限位。它只处理整数:没有小数点,除法返回整数商。小数运算和百分比属于标准计算器,函数属于科学计算器,绘制关系属于图形计算器。
按键与输入
- 01进制行。四行分别以 HEX、DEC、OCT 和 BIN 显示数值。点击某一行会转换数值,并把该进制设为输入进制。
- 02输入规则。当前进制没有的数字不可用:BIN 中
2–9 和 A–F 被禁用;OCT 中 8、9 和 A–F 被禁用。十六进制字母在 HEX 中可用。不被允许的按键会被忽略,且不报错。 - 03字长。
QWORD、DWORD、WORD 和 BYTE 分别选择 64、32、16、8 位;BIN 行会补齐到整个字。 - 04位网格。每个位都是一个可翻转的按钮。在
BYTE 中,置最高位后 HEX 显示 80,DEC 显示 -128。 - 05运算符。
AND、OR、XOR、NAND、NOR、<<、>>、ROL 和 ROR 会等待第二个操作数,与 +、−、×、÷ 一样。NOT 立即生效。% 是整数取模,不是百分比。 - 06键盘。数字和
A–F 用于输入数值(小写也可以);+ - * / % 是四则运算;& | ^ 是 AND、OR、XOR;< 和 > 是移位;~ 是 NOT;Enter 或 = 求值;Backspace 删除一位,Esc 清空。NAND、NOR、ROL 和 ROR 没有快捷键。清除键标记为 C,HEX 另有一个 C 数字键。
算例
- 打包颜色。 在 HEX 下输入
12 << 10 =,显示 120000;再按 OR 3400 =,显示 123400;再按 OR 56 =,显示 123456,即颜色 #123456 的 24 位值,在 DEC 中读作 1193046。
- 读取子网掩码。 选择 DWORD 和 HEX,输入
C0A80407 AND FFFFFF00 =,显示 C0A80400 —— 主机位被清除。由于第 31 位已置位,DEC 行读作 -1062730752;把字长改为 QWORD 后,同一个 C0A80400 读作 3232236544。位本身没有变,只是有符号读法变了。
- 移位一个负字节。 选择 BYTE 和 HEX,输入
FF >> 1 =,显示 7F,在 DEC 中读作 127。算术右移会保留 -1 的读法;这里的 >> 是逻辑移位,用 0 填充空出的位。
背景
一个十六进制位正好是四位,所以一个字节是两位,32 位字是八位;地址、颜色代码和网络掩码之所以用十六进制阅读,原因就在这里。补码是当前 CPU 采用的带符号约定,它让负数只有一个零,并让加法和减法共用一套电路;最高位承载符号。逻辑移位用 0 填充空出的位,而编译型语言为有符号类型使用的算术移位则复制符号位。
读取结果与限制
- 有符号十进制、无符号进制。
- DEC 读数是所选字长的有符号补码;HEX、OCT 和 BIN 则以无符号方式读取同样的位:在
BYTE 中 FF 读作 -1,但同一个 FF 在 QWORD 中读作 255,8000000000000000 读作 -9223372036854775808。主显示区把十进制数字按三位分组;BIN 行始终按四位一组显示整个字,而 HEX 和 OCT 不打印前导零。 - 截断。
+、− 和 × 先算出精确整数,再截到字长。原始结果放不下时,显示区会显示低位并给出提示:在 BYTE 中,200 + 100 = 显示 44,并提示 Result 300 exceeds BYTE; truncated to 44;0 − 1 = 显示 -1,并提示 Result -1 exceeds BYTE; truncated to 255。移位不会警告:字节 80 左移一位得到 0,因为置位的位离开了字。- 除法与取模。
- 除法向零截断。选择
BYTE 后在 HEX 中输入 F9:DEC 行读作 -7,÷ 2 = 显示 -3。% 保留左操作数的符号,所以 -7 % 3 = 显示 -1。除以零或对零取模会停下并显示 Division by zero 或 Modulo by zero,直到按 C 清除。 - 字长。
- 大于字长的字面量会留在显示区,而进制行显示掩码后的值;下一次运算会截断它并报告截断。改变字长会把当前值截到低位:
256 之后选择 BYTE,显示 0。 - 仅限整数。
- 它不做小数或浮点运算 —— 没有小数点,除法返回整数商;分数和百分比属于标准计算器。
常见错误
- 右移是逻辑移位,不是算术移位。 在 BYTE 中
FF 读作 -1,但 >> 1 得到 7F(127)—— 对期待符号扩展的人来说,这是个看起来合理却错误的数。
- 不看字长就读 DEC:
FF 在 BYTE 中是 -1,在 QWORD 中是 255。
- 不留意当前进制就输入操作数:HEX 下
10 是 16,16 是 22。
- 期待分数:
7 ÷ 2 = 显示 3;余数用 7 % 2 =,显示 1。
- 期待
<< 报告被移出的位:在 BYTE 中,80 << 1 静默地得到 0;只有 +、− 和 × 会报告截断。
- 把
% 当作百分比键:这里是取模;百分比在标准计算器中。
使用场景
- 寄存器与标志值。 在位网格中翻转单个位,调试掩码时把同一个字读作有符号十进制、十六进制和八进制。
- 地址与子网掩码。
C0A80407 AND FFFFFF00 = 清除主机位得到 C0A80400,用于表示网络范围。
- 颜色通道。 用
<< 和 OR 把 RR GG BB 字节打包成 123456,得到 24 位颜色代码。
- 文件权限位。 逐位置起模式位,在 OCT 中读出结果数字,得到
chmod 风格的值。
隐私
所有计算都在浏览器中完成。你输入或计算的内容不会被上传,页面也不会记录。
来源
- MDN Web Docs,按位与 (&) (访问日期:2026-09-30)—— 补码位模式上的操作数语义。
- Wikipedia,位运算 (访问日期:2026-09-30)—— AND、OR、XOR 和 NOT 的定义。
- Wikipedia,逻辑移位 (访问日期:2026-09-30)—— 补零行为与保留符号的算术移位的对比。
- Wikipedia,补码 (访问日期:2026-09-30)—— 固定宽度字的有符号解释。
- Wikipedia,十六进制 (访问日期:2026-09-30)—— 每个十六进制位对应四位。
本页计算器
精选工具,点开即用;小工具可直接试算,数值会带入完整计算器。