无需登录 数据私有 本地保存

进制转换工具 - 二进制/八进制/十进制/十六进制

25
0
0
0

进制转换工具

二进制、八进制、十进制、十六进制实时互转 · 支持小数 · 一键复制

二进制 BASE 2
0b
有效字符:0-1,支持小数点
八进制 BASE 8
0o
有效字符:0-7,支持小数点
十进制 BASE 10
10
有效字符:0-9,负号,小数点
十六进制 BASE 16
0x
有效字符:0-9,A-F,小数点
| 在任意输入框中输入,其他进制自动转换

常见问题与知识点

进制(数制)是表示数字的一种方式,它定义了每一位的权重。日常生活中我们使用十进制(逢十进一),而计算机内部使用二进制(逢二进一),因为电路只有两种稳定状态——高电平(1)和低电平(0),这使得二进制在电子电路中易于实现且抗干扰能力强。八进制和十六进制则是二进制的紧凑表示方式,方便人类阅读和书写。

整数部分:使用"除2取余法"——将十进制数不断除以2,记录每次的余数,直到商为0,然后将余数逆序排列即为二进制结果。
小数部分:使用"乘2取整法"——将小数不断乘以2,记录每次的整数部分(0或1),然后将整数部分顺序排列
例如:十进制 6.25 → 整数6÷2得余数0,1,1(逆序:110),小数0.25×2=0.5取0,0.5×2=1.0取1(顺序:01),结果:110.01

十六进制使用0-9和A-F共16个字符来表示数值:
A = 10, B = 11, C = 12, D = 13, E = 14, F = 15
例如十六进制 2F = 2×16¹ + 15×16⁰ = 32 + 15 = 47(十进制)。十六进制在计算机领域广泛使用,如颜色代码(#FF5733)、内存地址、Unicode编码等。

八进制曾在早期计算机中广泛使用(如PDP-11),现在主要用于Linux文件权限表示(如chmod 755)。
十六进制应用更为广泛:HTML/CSS颜色码(#FFFFFF)、MAC地址、IPv6地址、内存转储、加密哈希值(SHA-256)、汇编语言等。十六进制每1位对应4个二进制位,比八进制(1位对应3个二进制位)更紧凑。

编程中通常使用前缀来区分进制:
0b0B → 二进制(如 0b1010 = 10)
0o0O → 八进制(如 0o12 = 10)
无前缀 → 十进制(如 10)
0x0X → 十六进制(如 0xA = 10)
在数学中,也常用下标表示:1010₂ = 12₈ = 10₁₀ = A₁₆

带小数的进制转换分为整数部分小数部分分别处理。小数部分采用"乘基取整法"。需要注意的是,某些十进制小数在其他进制中可能是无限循环小数(如0.1₁₀ = 0.0001100110011...₂)。本工具对小数部分保留最多12位,超出部分将被截断。对于超大整数(超过JavaScript安全整数范围约±9×10¹⁵),结果可能存在精度损失。

即时转换:无需安装任何软件,打开浏览器即可使用
实时联动:在任意进制输入框中输入,其他进制自动同步更新
减少错误:自动验证输入合法性,避免手动计算失误
支持小数:大多数简单计算器不支持小数的进制转换
一键复制:快速复制转换结果,方便粘贴到代码或文档中
学习辅助:帮助学生理解进制转换的原理和过程

JavaScript提供了内置的进制转换方法:
parseInt(string, radix) — 将指定进制字符串转为十进制整数
number.toString(radix) — 将十进制数字转为指定进制字符串
例如:parseInt('1010', 2) 返回 10(255).toString(16) 返回 "ff"。但内置方法对于小数转换支持有限,本工具实现了完整的小数转换算法。