tigtools

进制转换器

输入一个任意进制的数字,即可同时查看它的二进制、八进制、十进制、十六进制表示,以及你选择的其他进制表示。数字长度不受限制,转换不会舍入。

在浏览器中运行 无需注册

空格和下划线会被忽略。开头的 - 表示负数。支持 0b、0o 和 0x 前缀。

二进制2 进制
八进制8 进制
十进制10 进制
十六进制16 进制

使用方法

  1. 选择当前数字的进制:二进制、八进制、十进制、十六进制,或其他 2 到 36 进制。
  2. 输入或粘贴数字。支持 0x 这样的前缀和 _ 这样的分隔符。
  3. 同时查看该数字在各种进制下的表示,并复制所需结果。
  4. 使用最后一行转换为其他进制,例如转换为 36 进制以生成短 ID。

工作原理

位值制会将一个数写成各位数字与底数幂次的乘积之和。在二进制(基数为 2)中,每位数字是一个比特;在八进制(基数为 8)中,每位数字代表 3 个比特;在十六进制(基数为 16)中,每位数字代表 4 个比特,并用字母 A–F 表示 10 到 15。大于 16 的进制继续使用字母,最高可到 36 进制,此时会用到数字 0–9 和字母 A–Z。

转换器使用 JavaScript BigInt 运算,因此可以精确转换任意长度的数字。普通浮点数超过 9,007,199,254,740,991 (2^53 − 1) 后会失去精度,因此有些转换器处理 64 位数值时会给出错误结果。

系统会根据所选进制逐位检查输入。遇到第一个无效字符时,会报告其位置,例如二进制数中的 2,或十六进制数中的 G。字母不区分大小写。空格和下划线会被忽略,因此可以粘贴 1111_0000 或 DE AD BE EF 这样的数值。支持前缀 0b(二进制)、0o(八进制)和 0x(十六进制);如果输入进制设为十进制,且数字以这些前缀之一开头,则以前缀指定的进制为准。

负数会转换为负号加绝对值(−255 的十六进制表示为 −FF)。本工具不会显示二进制补码表示,因为二进制补码取决于固定的位宽,例如 8、32 或 64 位。不支持小数:只能转换整数。

示例

读取十六进制颜色值或字节值

0xFF 的十进制表示为 255,二进制表示为 1111 1111,即一个字节的最大值。颜色值 #FF0000 中的 FF 也表示红色值为满值。

Unix 文件权限

八进制权限值 755 的二进制表示为 111 101 101:所有者拥有读取、写入和执行权限(7),组用户和其他用户拥有读取和执行权限(5)。其十进制值为 493。

较大的 64 位数值

最大的无符号 64 位整数,其十六进制表示为 FFFF FFFF FFFF FFFF,十进制表示为 18446744073709551615。转换会逐位精确完成,不会进行舍入。

常见问题

如何手动将二进制转换为十进制?

将每个比特乘以对应的 2 的幂次(从右侧开始,幂次从 0 起),再把结果相加。以 1011 为例:1×8 + 0×4 + 1×2 + 1×1 = 11。

为什么二进制和十六进制按四位分组?

一个十六进制数字恰好对应四个比特,因此将二进制每四位分为一组,就能对应到十六进制数字:1101 1110 对应 DE。这样就能轻松地目测完成两者之间的转换。

数字长度有限制吗?

没有固定的最大值。由于本工具使用 BigInt,包含数百位或数千位的数字也能精确转换。在较慢的设备上,处理特别长的输入可能需要一些时间。

可以转换负数或分数吗?

支持负整数,转换结果会保留负号。不支持分数和小数点;小数点会被报告为无效字符。

36 进制有什么用途?

36 进制使用 0–9 和 A–Z,是一种紧凑且不区分大小写的字母数字表示法。它用于短 ID 和 URL 缩短服务:例如,1,000,000 的 36 进制表示为 LFLS。

隐私

所有转换都在浏览器中完成。你输入的数字不会上传、存储,也不会用于分析。