🧮 程序员计算器
程序员计算器同时处理十六进制、十进制、八进制和二进制,提供低级编程所需的位运算和固定字长。在任意进制中输入一个值,应用 AND、OR、XOR、NOT、位移或算术运算,以 8、16、32 或 64 位进行计算,并同时在四种进制中显示结果——免费,完全在您的浏览器中运行,无需上传任何内容。
程序员计算器是一种免费的在线工具,可以同时显示一个数字的十六进制、十进制、八进制和二进制表示,并在固定 8、16、32 或 64 位字长下进行位运算(AND、OR、XOR、NOT、位移)——完全在您的浏览器中运行。
Tip: use your keyboard — digits, A–F, + − * /, & | ^ ~ for AND/OR/XOR/NOT, Enter for =.
隐私优先设计. 此工具完全在您的浏览器中运行 — 您输入的任何内容都不会上传或存储,并且可以离线使用。
关于
程序员计算器的工作方式与开发人员实际思考数字的方式一致:以位和字节为单位,同时跨多种进制。在十六进制、十进制、八进制或二进制中输入一个值,工具会同时显示所有四种表示,并在您输入时实时更新。在显示下方,交互式的位网格让您能够查看当前值的每一位,并通过单次点击翻转任何一位——这对于构建位掩码、设置标志或理解寄存器的布局非常有用。
计算器支持日常系统编程所依赖的完整位运算集:AND、OR、XOR、NOT、NAND、NOR 和 XNOR,以及逻辑左移和右移(Lsh 和 Rsh)和模运算。您还可以进行普通的整数运算——加、减、乘、除——并取任意值的二进制补码否定。所有结果都按照您选择的字长(8、16、32 或 64 位)进行计算:溢出方式与真实固定宽度硬件完全一致,因此您看到的内容与您的 C、Rust 或 Go 程序实际生成的内容一致。
“有符号”切换按钮会在无符号和二进制补码解释之间切换十进制显示,并且也会影响除法、模运算和右移的行为——有符号除法向零取整,有符号右移保留符号位,就像您的编译器一样。内部所有计算都使用 JavaScript BigInt 并屏蔽到字长,这意味着 64 位运算是精确的;这里不会使用那些在其他网页计算器中悄悄破坏计算的原生 32 位位运算。
这个工具在专业编程之外也非常实用。学习计算机架构的学生可以逐位观察二进制补码、符号扩展和溢出;电子和嵌入式爱好者可以精确地构造要发送到设备寄存器的字节;任何调试十六进制转储、文件格式或网络数据包的人都可以无需编写脚本就能提取个别字段。因为所有进制和每一位都同时可见,数值的十六进制、位和十进制含义之间的关系始终清晰可见。
由于该工具面向低级工作,它能加快许多常见任务,例如将颜色从十六进制转换为 RGB 十进制通道、解码 Unix 文件权限位、从打包的状态寄存器中提取字段、检查位掩码的结果,或在提交代码之前验证位移和掩码表达式是否正确。所有操作都在您的浏览器中完成——无需服务器、无需账户,您输入的任何内容都不会离开您的设备。您的字长、符号模式和当前值都会本地保存,因此下次使用计算器时,它会正好保持您上次离开时的状态。
如何使用
- 选择您的字长——8、16、32 或 64 位——如果需要二进制补码十进制、除法和位移,请切换“有符号”选项。
- 通过点击 HEX、DEC、OCT 或 BIN 行来选择输入进制,然后使用键盘或物理键盘输入您的数字。
- 应用一个操作:点击位运算按钮(AND、OR、XOR、NOT、NAND、NOR、XNOR)、位移(Lsh、Rsh)、Mod 或普通运算符(+ − × ÷)。
- 输入第二个操作数并按 = 进行计算;结果会同时显示在十六进制、十进制、八进制和二进制中。
- 点击位网格中的任意一位以直接翻转它,或使用任意进制行上的复制按钮将该表示复制到剪贴板。
常见问题
- 这个程序员计算器是免费、私密且离线的吗?
- 是的。它完全免费,无需账户或注册,所有计算都在您的浏览器中本地运行,使用 JavaScript——您输入的任何内容都不会上传。页面加载后,它可以在完全离线的情况下使用。
- 这与数字进制转换器有什么不同?
- 进制转换器只改变数字的写法。程序员计算器还进行计算:它在固定字长下执行位运算(AND、OR、XOR、NOT)、位移、模运算和算术运算,并允许您检查和翻转个别位——同时仍然显示所有四种进制。
- 8/16/32/64 位字长有什么作用?
- 字长设置值占用的位数,就像 C、Rust 或 Go 中的整数类型一样。结果会被屏蔽到该宽度,因此溢出会循环,运算如 NOT 会产生与您的程序相同的值。使用 8 位表示一个字节,32 位表示一个典型的 int,64 位表示一个 long。
- 什么是“有符号”切换和二进制补码?
- 有符号模式使用二进制补码将最高位解释为符号,这是几乎所有 CPU 使用的表示方式。它会改变十进制显示——例如,在 8 位中 0xFF 显示为 -1——并使除法、模运算和右移行为像有符号运算一样。关闭它以处理无符号值,如地址或位标志。
- 支持哪些位运算?
- AND、OR、XOR、NOT、NAND、NOR、XNOR、逻辑左移(Lsh)、右移(Rsh)在无符号时为逻辑移位,在有符号时为算术移位、模运算、二进制补码取反(±)以及标准加、减、乘、除。
- 它能正确处理 64 位值吗?
- 是的。所有运算都使用 JavaScript BigInt 并屏蔽到所选字长,因此 64 位运算是精确的。这避免了依赖 JavaScript 原生位运算符的许多网页计算器中出现的错误,这些运算符会静默地截断为 32 位。
- 我可以使用键盘吗?
- 是的。直接输入数字和 A–F,使用 + − * / 进行算术运算,& | ^ ~ 进行 AND/OR/XOR/NOT 运算,< 和 > 进行位移,Enter 表示 =,Backspace 删除,Esc 清除。
- 你能举一个具体的例子吗?
- 当然可以。要读取十六进制颜色 #3A7BD5 的红色通道,选择 32 位无符号,然后在 HEX 行中输入 3A7BD5,然后计算 Rsh 16 和 AND 与 FF——计算器显示十进制的 58,这就是红色值(绿色和蓝色以类似方式通过不同的位移得到)。另一个例子是检查 Unix 权限 0o755 的所有者执行位是否设置,输入 755 到 OCT 行中,然后与 100 进行 AND 运算;结果 100 非零,说明该位已设置。像这样在所有四种进制中同时处理这些案例,是单一的进制转换器无法做到的。
- 此工具会上传我的数据吗?
- 不会。所有操作都在您的浏览器中完成,因此您的数据永远不会离开您的设备 — 甚至在页面加载后也可以离线使用。