二进制到十进制转换器 | 免费在线工具
二进制与十进制转换器可以将二进制数值转换为对应的十进制数值,也可以反过来将十进制数值转换为二进制数值,并同时展示具体的换算公式和完整的逐步计算过程,每一位二进制数字都对应2的相应次幂。该免费在线工具适合程序开发者深入理解计算机数制原理,也适合学生学习计算机基础知识课程时使用参考。
二进制-十进制转换器
即时转换二进制和十进制数字系统。
二进制数字仅使用0和1
十进制数字使用0-9的数字
在任一字段中输入值,即可在另一个字段中看到转换结果。
文档
二进制转十进制转换器
二进制转十进制转换器可在以2为底(二进制)和以10为底(十进制)的数之间进行转换。二进制是计算机内部使用的数制,只用0和1书写。十进制是人们日常使用的数制,使用从0到9的数字书写。此工具会立即将任一输入框中的数值转换为另一种数制,并显示结果背后的算术过程。
十进制的工作原理
十进制数使用十个数字,即0到9。十进制数中的每个位置都表示10的幂。从右向左,各位置的权值依次为1、10、100、1,000,依此类推。
以数值427为例:
- 4 × 100 = 400
- 2 × 10 = 20
- 7 × 1 = 7
将这些数相加,得到400 + 20 + 7 = 427。
二进制的工作原理
二进制数只使用两个数字,即0和1。每个位置表示2的幂,而不是10的幂。从右向左,各位置的权值依次为1、2、4、8、16,每次加倍。
以二进制数1010为例:
- 1 × 8 = 8
- 0 × 4 = 0
- 1 × 2 = 2
- 0 × 1 = 0
将这些数相加,得到8 + 0 + 2 + 0 = 10。
二进制转十进制公式
要将二进制数转换为十进制数,应将每个数字乘以其所在位置对应的2的幂,然后将结果相加:
十进制数 = 对每个数字计算 bᵢ × 2ⁱ 后求和,其中 bᵢ 是位置 i 上的数字(0或1),位置从右侧的0开始计数。
示例:将1101转换为十进制
- 1 × 2³ = 8
- 1 × 2² = 4
- 0 × 2¹ = 0
- 1 × 2⁰ = 1
- 总和:8 + 4 + 0 + 1 = 13
二进制1101等于十进制13。只有所在位置为1的数字会对总和产生贡献,因此手算时可以跳过0。
十进制转二进制公式(除二取余法)
要将十进制数转换为二进制数,应反复将其除以2,并记录每次的余数。
- 将数除以2。
- 记下余数,余数始终是0或1。
- 再将商除以2。
- 重复此过程,直到商变为0。
- 从下到上读取余数。
示例:将25转换为二进制
- 25 ÷ 2 = 12,余数为1
- 12 ÷ 2 = 6,余数为0
- 6 ÷ 2 = 3,余数为0
- 3 ÷ 2 = 1,余数为1
- 1 ÷ 2 = 0,余数为1
从最后一行向第一行读取余数,得到11001。十进制25等于二进制11001。
如何使用此转换器
在二进制输入框或十进制输入框中输入数字,另一个输入框会立即更新。无效输入(例如在二进制输入框中输入2,或在十进制输入框中输入字母)会显示错误消息,而不是结果。
两个输入框下方的面板显示当前换算背后的算术过程:二进制转十进制时显示 2 的幂次分解,十进制转二进制时显示除以 2 的步骤。
该转换器接受任意大小的二进制数和十进制数。它使用精确的任意精度算术进行计算,而不是标准的浮点运算,因此较长的数值不会被舍入。它不接受负数或小数。
二进制转十进制的应用场景
- IP 地址。 诸如 192.168.1.1 的 IPv4 地址,是以十进制书写的四个二进制字节(32 位)。192 是 11000000,168 是 10101000,1 是 00000001。
- 文件权限。 像 755 这样的 Unix 权限码是用各个位设置文件权限的八进制数,是二进制模式 111 101 101 的简写:所有者拥有完全访问权限,其他所有人拥有读取和执行权限。
- 位标志。 将一个字节设为255会开启全部8个位,表示为11111111。软件通常用这种方式通过一个数同时标记多个设置已开启。
- 数字硬件。 电路寄存器以位的形式存储设置,因此配置设备可能需要将十进制值转换为设备所需的确切位模式。
相关数制
十六进制(以16为底)和八进制(以8为底)是二进制的简写形式。每个十六进制数字恰好表示4个二进制位,每个八进制数字恰好表示3个二进制位。
- 二进制10101101是十六进制 AD,等于十进制173。
- 二进制101011是八进制53。
常见问题
什么是二进制数?
二进制数只使用两个数字,即0和1。每个数字称为一个位,也叫比特。任何整数都可以通过组合足够多的位写成二进制形式,就像任何单词都可以用有限的字母表写出一样。
计算机为什么使用二进制而不是十进制?
与十种不同的电压水平相比,电子电路以更低的成本、更可靠地存储和切换两种明确状态,例如高电压和低电压。二状态逻辑也与布尔代数相符;布尔代数是数字电路用于执行计算的数学分支。
如何手动将二进制转换为十进制?
将每一位二进制数字乘以与其位置对应的 2 的幂(从右侧起按 0 开始计数),然后把结果相加。以二进制 1101 为例:1×8 + 1×4 + 0×2 + 1×1 = 13。
如何手动将十进制转换为二进制?
反复将十进制数除以2,记下每次的余数,直到商变为0。然后从最后一个余数向前读取。十进制13通过这种方法变为二进制1101。
此转换器支持负数或小数吗?
不支持。它只接受非负整数。负二进制数使用称为二进制补码的独立表示方案,二进制小数也不同于整数转换。
此转换器能处理的最大数是多少?
没有固定的大小限制。该转换器使用任意精度算术,因此能够精确转换非常长的二进制或十进制数,包括远超普通浮点运算在不产生舍入误差的情况下所能表示的数值。
二进制、八进制和十六进制有什么区别?
三者都和十进制一样属于进位计数制,但基数不同:二进制的基数为2,八进制的基数为8,十六进制的基数为16。一个十六进制数字始终恰好等于4个二进制位,一个八进制数字始终恰好等于3个二进制位,因此它们常用作长二进制数的紧凑简写形式。
参考文献
- 互联网工程任务组。RFC 791: Internet Protocol。RFC 791 — IPv4 地址固定为四个八位组(32 位)。
- 开放组织(The Open Group)。The Open Group Base Specifications (POSIX): chmod。POSIX chmod 工具 — 八进制模式为八进制数中的每一位设置一个文件权限位。