二进制转十进制算法

来源:百度知道 编辑:UC知道 时间:2024/05/10 13:49:54

我们在网络上经常遇到要ip转为二进制来划分或汇总子网,所以要找一种最快速的十进制转二进制的方法!
这种算法用除16来算,基于我们对16以内的二进制很熟悉!朋友你也许也奇怪,除16不是算16进制转换的吗?
呵呵,下面看来我说.(我们用d表示10进制,用b表示2进制)
公式是a(d)÷16=b 余c. 然后用b&c=d(b)(什么,看不懂?公式自己创的,看不懂也不怪我举例)

如我们算175(d)的二进制!

175÷16=10 余 15

10的二进制是1010
15的二进制是1111

所以10&15=10101111(b)
也就是10是2进制的前4位,15是2进制的后4位!
所以175(d)=10101111(b)

呵呵,学会了吗,是不是很快速!

二进制数第0位的权值是2的0次方,第1位的权值是2的1次方……

所以,设有一个二进制数:0110 0100,转换为10进制为:

下面是竖式:

0110 0100 换算成 十进制

第0位 0 * 20 = 0

第1位 0 * 21 = 0

第2位 1 * 22 = 4

第3位 0 * 23 = 0

第4位 0 * 24 = 0

第5位 1 * 25 = 32

第6位 1 * 26 = 64

第7位 0 * 27 = 0 +

---------------------------

100

用横式计算为:

0 * 20 + 0 * 21 + 1 * 22 + 1 * 23 + 0 * 24 + 1 * 25 + 1 * 26 + 0 * 27 = 100

0乘以多少都是0,所以我们也可以直接跳过值为0的位:

1