简单讲讲二进制与十进制的转换

简单讲讲二进制与十进制的转换

本文写于 2020 年 9 月 12 日

很多人觉得二进制很奇妙,很难转换,但其实没那么夸张。

首先看一个简单的十进制数:123

对于 123 而言,是 100+20+3 的结果,也就是 1*100+2*10+3*1

再进一步拆分成 10^n(十的 n 次方)后就可以表示为 1*10^2+2*10^1+3*10^0

这个时候我们发现这里其实是存在某种规则的。

列个表看看:

10^2 10^1 10^0
0 0 0

那么这是十进制,换成二进制的话,会不会是下面这样呢?

2^2 2^1 2^0
0 0 0

这也就意味着,100、10、1 变成了 4、2、1。当我们继续向后推进,二进制就会变成 8、16……而不是十进制的 1000、10000……

这个表有啥用呢?

我们来看几个简单的例子,十进制的 2,在二进制中是就是 10,这点我们非常清楚。

我们将 10 放入表中:

2^2 2^1 2^0
0 1 0

1*2^1+0*2^0,诶?!这不就是 2 吗?

所以我们现在学会了二进制转十进制的方法,就是将二进制的每一位,乘上二的位数减一次方后相加

十进制转二进制相对而言要更麻烦一点,也更难想——我们需要解出一个公式:a*1+b*2+c*4+d*8+e*16…… 这里的 a、b、c……都表示的是 0 或 1。

例如 50。可以表示为:0*1+1*2+0*4+0*8+1*16+1*32,所以 50 的二进制为 110010。

13 呢?可以表示为 1*1+0*2+1*4+1*8,即为 1101。

(完)

原文地址:https://www.cnblogs.com/xhyccc/p/13656439.html