🛝Toolio
关于 联系方式

🧮 程序员计算器

程序员计算器同时处理十六进制、十进制、八进制和二进制,提供低级编程所需的位运算和固定字长。在任意进制中输入一个值,应用 AND、OR、XOR、NOT、位移或算术运算,以 8、16、32 或 64 位进行计算,并同时在四种进制中显示结果——免费,完全在您的浏览器中运行,无需上传任何内容。

程序员计算器是一种免费的在线工具,可以同时显示一个数字的十六进制、十进制、八进制和二进制表示,并在固定 8、16、32 或 64 位字长下进行位运算(AND、OR、XOR、NOT、位移)——完全在您的浏览器中运行。

8 16 32 64
HEX0
DEC0
OCT0
BIN0
位 — 点击翻转
AND OR XOR NOT NAND NOR XNOR ± Lsh Rsh Mod
CE AC ⌫ ÷ A B C × D E F − 7 8 9 + 4 5 6 1 2 3 0 =

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 程序实际产生的结果一致。输入超出所选字长容纳范围的数字时,会显示简短提示,而更改字长时数值保持不变:在有符号模式下加宽字长时,负数会进行符号扩展(例如 8 位 FF,即 -1,会变为 32 位 FFFFFFFF,仍为 -1),无符号值会进行零扩展,而缩窄字长时只保留低位。

有符号开关可以在无符号和补码解释之间切换十进制显示,还会改变除法、取模和右移的行为:有符号除法向零截断,有符号右移保持符号位不变,与编译器一致。内部所有计算都使用 JavaScript BigInt 进行,并按字长掩码,因此 64 位运算精确无误;这里从不使用悄然导致许多其他网页计算器出错的原生 32 位位运算符。

这个工具在专业编程之外也很有用。学习计算机体系结构的学生可以逐位观察补码、符号扩展和溢出;电子和嵌入式爱好者可以构造出要发送到设备寄存器的精确字节;调试十六进制转储、文件格式或网络数据包时,可以提取单个字段,而无需编写临时脚本。因为每种进制和每一位都同时可见,所以值的十六进制、位和十进制含义之间的关系始终呈现在眼前。

由于工具面向底层工作,能加速的常见任务包括将十六进制颜色转换为 RGB 十进制通道、解码 Unix 文件权限位、从紧缩状态寄存器中提取字段、检查位掩码结果,以及在写入代码之前验证移位和掩码表达式。所有操作都在浏览器中完成:无需服务器、无需账户,输入的任何内容都不会离开设备。字长、符号模式和当前值都会保存在本地,因此下次打开计算器时,它会保持上次离开时的状态。

如何使用

  1. 选择您的字长——8、16、32 或 64 位——如果需要二进制补码十进制、除法和位移,请切换“有符号”选项。
  2. 通过点击 HEX、DEC、OCT 或 BIN 行来选择输入进制,然后使用键盘或物理键盘输入您的数字。
  3. 应用一个操作:点击位运算按钮(AND、OR、XOR、NOT、NAND、NOR、XNOR)、位移(Lsh、Rsh)、Mod 或普通运算符(+ − × ÷)。
  4. 输入第二个操作数(会在所选进制行中读取,如属于其他进制,请先切换行),然后按下 “=” 进行计算;结果会同时显示在十六进制、十进制、八进制和二进制中。
  5. 点击位网格中的任意一位以直接翻转它,或使用任意进制行上的复制按钮将该表示复制到剪贴板。

常见问题

这个程序员计算器是免费、私密且离线的吗?
是的。它完全免费,无需账户或注册,所有计算都在您的浏览器中本地运行,使用 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 之前,请点击 “DEC” 行(在 “HEX” 行中输入 16 会表示 0x16,即移位 22 位)。按下 “=”,再次点击 “HEX” 行,按下 “AND”,输入 FF 并按下 “=”,计算器会显示十进制 58,这就是红色值(绿色和蓝色可通过不同移位以同样方式得出)。再举一个例子,要检查 Unix 权限 0o755 的所有者执行位是否已设置,请点击 “OCT” 行,输入 755,按下 “AND”,输入 100(仍为八进制)并按下 “=”;结果 100 不为零,因此该位已设置。像这样同时横跨全部四种进制处理这类情况,正是单一进制转换器做不到的。
此工具会上传我的数据吗?
不会。所有操作都在您的浏览器中完成,因此您的数据永远不会离开您的设备 — 甚至在页面加载后也可以离线使用。