在线进制转换(2 / 8 / 10 / 16)

二进制、八进制、十进制、十六进制互转,自动识别前缀,大数不丢位,支持批量。

文件不上传 .txt 单文件最大 10MB
文件不上传

参数

选「自动」时不带前缀的内容按十进制处理。

长二进制可读性提升明显(1111 1111)。

输出 0b / 0o / 0x 前缀(十进制无前缀)。

这个工具做什么

进制转换工具把一个数在二进制、八进制、十进制、十六进制之间互转:输入 255,一次拿到 11111111、377、255 与 ff。也可以直接从代码里粘贴带前缀的 0xFF、0b1010、0o17,工具会自动判断它是哪种进制。

它和「十六进制转换」是两个不同的问题:那个工具处理的是文本与字节串之间的编码(把“你好”变成 E4BDA0E5A5BD),本工具处理的是同一个数的不同写法(把 255 写成 FF)。做位掩码、调寄存器、看内存地址、写协议报文时会用到后者。

如何使用

  1. 第一步:粘贴数字 一行一个,带不带 0b / 0o / 0x 前缀都可以;源进制默认「自动识别」,不带前缀的内容按十进制处理。
  2. 第二步:选择目标进制 默认输出四列(bin / oct / dec / hex,Tab 分隔,方便直接贴进表格)。只需要一种时把目标进制切成单值,输出更干净。
  3. 第三步:按需加前缀或分组 要贴回代码就打开「输出进制前缀」(得到 0xFF、0b1010);要读长二进制就打开「每 4 位分组」(得到 1111 1111)。

限制与边界

只处理整数。不做小数与浮点数的进制转换(二进制小数的舍入语义容易产生误解),也不做 IEEE 754 位模式解析。不做位运算与掩码计算器,不做字符编码转换——前者属「位运算」类工具,后者请用十六进制转换或 Unicode 转义。单文件上限 10MB。

常见问题

为什么必须用 BigInt?

因为 Number 只能精确表示到 2^53−1,更大的数会静默丢位。十六进制 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF(128 位)用 Number 解析会得到错误的十进制值,而 BigInt 完全精确。

和「十六进制转换」有什么区别?

语义不同。本工具把 255 写成 FF(同一个数的不同进制);十六进制转换把文本“你好”按 UTF-8 变成 E4BDA0E5A5BD(字节串)。前者用于位掩码与地址,后者用于编码调试。

支持负数吗?

支持。负号照常输出(-ff),分组时负号不参与每 4 位切分。

能批量转换吗?

可以,一行一个,输出行与输入行一一对应;某一行不合法时会明确告诉你是哪一行、哪个字符越界。

支持 32 进制或自定义进制吗?

不支持。本工具专注 2 / 8 / 10 / 16 这四种与编程最相关的进制;Base32 / Base58 属于编码体系(有字母表与填充规则),已由各自工具处理。

计算在本地还是服务器?

全部在浏览器内完成,页面不发送包含数字的请求;地址、掩码这类可能敏感的内容不会离开设备。

相关工具