整数进制转换器

在不同进制之间转换数字(十进制、十六进制、二进制、八进制、Base64等)。

整数进制转换器是什么

填一个整数和它当前所在的进制,一次性列出二进制、八进制、十进制、十六进制、Base64(64 进制)和任意自定义进制的结果。读寄存器值、核对权限位、在内存地址和颜色值之间来回换算时用得最多。

所有计算都在你的浏览器本地完成,输入的内容不会上传到服务器。

怎么用整数进制转换器

  1. 在顶部输入框填数字,默认示例是 42
  2. 在「输入进制」里填这个数字当前用的进制,允许 2~64
  3. 想分组看就打开「空格分隔」开关,下面会多出二进制/八进制/十进制/十六进制/Base64/自定义各自的分组位数
  4. 下方依次给出 2、8、10、16、64 五种进制的只读结果,点每行右侧复制
  5. 要别的进制就在底部自定义框里填 2~64 之间的目标进制

示例

输入

0xFF

输出

十进制 255 / 二进制 11111111 / 八进制 377

带 0x 前缀时自动识别为十六进制,无需改「输入进制」

常见问题

为什么输入 -42 会报错?

解析时只接受数字和前缀后缀,减号不在字符表里,会被判为非法字符。处理负数请转完绝对值后手动补负号。

十六进制输出是大写还是小写?

小写。输入在 36 进制以内时会先统一转小写再计算,所以 FF 和 ff 结果完全一样,不用担心大小写。

这里的 Base64 和平时说的 Base64 编码是一回事吗?

不是。这里指"把整数按 64 进制表示",字符表是 0-9、a-z、A-Z、+、/;而平时说的 Base64 是把字节流每 3 字节编成 4 个字符,两者只是同名不同义。

能转换小数吗?

不能。工具只处理整数,小数点会被判为非法字符并弹出错误提示。

小提示

  • 带 0x / 0b / 0o 或 &h / &b / &o 前缀时,「输入进制」会被忽略而以前缀为准;C 语言里 0xFFUL、123L 这类后缀也会自动剥掉
  • 空格、下划线、逗号、点号、连字符都当分隔符忽略,所以可以直接粘 0xFF_FF 或 1,024 这种写法
  • 不支持负数:减号会被当成非法字符报 invalid digit,要转 -42 得先转 42 再自己加负号
  • 内部用 BigInt 计算,几十位的超大整数也能精确转换,不会像 JS 的 Number 那样丢精度

同类单位换算工具