工具
ZH

十六进制计算器

这款十六进制计算器支持加法、减法、乘法和除法,以及按位 AND、OR、XOR、NOT 和移位运算。任意大小的数都能精确计算,负数结果还会同时以补码形式显示。

十六进制
十进制
二进制

隐私保护:您的数据仅在浏览器中处理,绝不会被上传。

如何使用十六进制计算器

  1. 输入两个十六进制数,例如 8AB 和 B78。可以带负号,也可以带 0x 等前缀。
  2. 选择运算方式。结果会立即以十六进制、十进制和二进制显示;做除法时还会显示余数。
  3. 对于负数结果和 NOT 运算,请选择位宽(8、16、32 或 64 位)以查看补码值。

十六进制加法怎么算

和十进制一样,从右往左逐位相加。唯一的区别是:某一位的和大于或等于 16 时,写下“和减 16”,并向高位进 1(逢十六进一)。示例:8AB + B78。

位数字和写下进位
16⁰B + 811 + 8 = 1931
16¹A + 7 + 110 + 7 + 1 = 1821
16²8 + B + 18 + 11 + 1 = 2041
16³进位11–

从最下面一行往上读出写下的数字(最高位在前),得到 1423。用十进制验算:2219 + 2936 = 5155 = 十六进制 1423。

十六进制减法、负数结果与补码

减法需要借位:如果被减数的某一位比减数小,就向高位借 1,当作 16(借一当十六)。B78 − 8AB:8 − B 需要借位,8 + 16 − 11 = 13 = D;接着 7 − 1 − A 也需要借位,6 + 16 − 10 = 12 = C;最后 B − 1 − 8 = 2,所以结果是 2CD。

如果第二个数更大,结果就是负数。计算器会用负号表示(5 − 8 = −3),同时给出计算机实际存储的位模式:在 8 位补码中,−3 是 2⁸ − 3 = 253 = FD,在 16 位中是 FFFD。手算时,把一个数的所有位取反再加 1,即可得到它的相反数:03 = 0000 0011 → 1111 1100 → 1111 1101 = FD。

位运算:AND、OR、XOR、NOT 与移位

位运算会逐位比较两个数,因此程序员常用它来处理标志位、掩码和权限。以 3C = 0011 1100 和 0F = 0000 1111 为例:

运算规则结果
3C AND 0F两位都是 1 时结果才为 10C
3C OR 0F至少有一位是 1 时结果为 13F
3C XOR 0F两位不同时结果为 133
NOT 3C(8 位)每一位都取反C3
3C << 1左移 = 乘以 278
3C >> 2右移 = 除以 40F

常见问题

十六进制乘法怎么算?

方法和十进制相同,只是每个部分积都要用十六进制表示。通常更简单的做法是先转换成十进制,相乘后再转换回来:1A × 10 = 26 × 16 = 416 = 1A0。乘以十六进制的 10(即 16)只需在末尾补一个 0,就像十进制中乘以 10 一样。

十六进制除法的结果是什么样的?

计算器执行整数除法,并同时显示商和余数:1423 ÷ 10 = 142 余 3。除数为零时会提示错误。

为什么不同位宽下 NOT 的结果不一样?

NOT 会翻转固定长度数值中的每一位,所以结果取决于总共有多少位:NOT 3C 在 8 位下是 C3,在 16 位下却是 FFC3。选择“自动位宽”时,计算器会选用能容纳该数的最小标准位宽(8、16、32 或 64 位)。

十六进制计算器能处理大数吗?

可以。所有运算都使用任意精度整数,因此 64 位、128 位甚至更长的数值都能精确计算,不会像普通计算器那样出现溢出或舍入误差。