二进制转十进制,就是把一个以 2 为底的数改写成以 10 为底的数。核心思路很简单:每个二进制位都表示是否要计入某个 2 的幂。位上是 1,就计入该位值;位上是 0,就跳过该位值。
例如,10112=1110,因为它包含 8,跳过 4,包含 2,也包含 1。
二进制位值如何变成十进制
二进制是以 2 为底的计数系统,所以它的位值是 2 的幂,而不是 10 的幂。从右到左,各位依次是:
20,21,22,23,…
这意味着前几个位值分别是:
1,2,4,8,16,…
如果某一位是 1,这个位值就要计入;如果某一位是 0,这个位值就不计入。
二进制转十进制背后的规则
对于一个二进制数 bnbn−1…b1b0,其中每个 bi 都是 0 或 1,它对应的十进制值为
i=0∑nbi2i
你不一定非要用这个公式来做转换,但它能很清楚地说明这个思路:二进制本质上就是以 2 的幂为位值的计数方式。
例题:把 110012 转成十进制
从右边开始,对应的位值是 1,2,4,8,16。
110012=1⋅16+1⋅8+0⋅4+0⋅2+1⋅1
现在只保留那些对应数字为 1 的值:
110012=16+8+1
所以它的十进制值是
110012=2510
如果你想快速检查,可以从左到右把它读成:“一个 16,一个 8,零个 4,零个 2,再加一个 1。”
为什么这种方法有效
在十进制中,数 407 表示
4⋅102+0⋅101+7⋅100
二进制的原理完全一样,只是把底数换成了 2:
110012=1⋅24+1⋅23+0⋅22+0⋅21+1⋅20
结构是完全相同的,变化的只有底数。
二进制转十进制的常见错误
- 把位值当成 10 的幂,而不是 2 的幂。二进制的位值应为 1,2,4,8,16,…。
- 从左边开始数位,却不知道对应的指数。最稳妥的方法是从右边的 20 开始。
- 把像 1021 这样的数当成二进制。有效的二进制数字只有 0 和 1。
- 忘记前导零不会改变数值。例如,00112 和 112 都等于 310。
二进制转十进制用在什么地方
凡是你需要理解计算机如何存储数值时,都会遇到二进制转十进制。它常见于计算机科学基础、数字电子技术、数据表示,以及权限、标志位、内存数值等基于位的场景中。
即使你从不直接接触硬件,理解二进制位值也会让各种进制系统不再那么神秘。
试着做一个类似的转换
把 1011012 转成十进制:先写出各位的位值,再只把与 1 对应的 2 的幂相加。养成这个习惯,可以避免大多数转换错误。