咳咳 咳咳 开场还是要像个领导,领导开场都是咳咳 两声,我咳了四声 说明我不是领导啊 ! 好的 进入正题。
先说说对于我们来说最简单的 , 我们从小到大接触的算法都是十进制 ,那什么叫十进制呢?
十进制数是组成以10为基础的数字系统,有0,1,2,3, 4, 5, 6, 7, 8, 9十个基本数字组成。
也就是我们现在所学的 逢十进一。
那么二进制 也是同样它是逢2进一,有0,1 两个基本数字组成
八进制也是如此,它是逢八进1,由0,1,2,3,4,5,6,7 八个基本数字组成
由此可以推出十六进制 它是逢16进1,那么它是除了0,1,2,3,4,5,6,7,8,9 这10个基本数字外还有a,b,c,d,e,f 这十六个基本数字组成
a,b,c,d,e,f 分别代表11,12,13,14,15 。
下面我们首先来学习二进制如何转化为10进制
例如101011B 这是一个2进制的书写方式 也可以为(101011)2
如何将这2进制数转化为10进制数呢?方法如下
1 0 1 0 1 1. 0 0 0 0 从小数点往左依次为2^0,2^1,2^2,2^3,2^4,2^5....... 小数点往右依次是2^-1 ,2^-2 ,2^-3 ........
1*2^5+0*12^4+1*2^3+0*2^2+1*2^1+1*2^0=43 **(当我们没有注明一个数是几进制时,我们通常把它默认为10进制)
我们也可以这样计算 ...... 265 128 64 32 16 8 4 2 1
1 0 1 0 1 1
从右往左我们一一对应 空缺为零 是用上面的数乘以下面的数相加 那么我们这个数为1*32+0*16+8*1+4*0+2*1+1*1=43
那我们10进制数转2进制数改如何转化
例如一个数84 我们将它转化为2进制数
84除以2=42.......0
42除以2=21.......0
21除以2=10.......1
10除以2=5.........0
5除以2=2...........1
2除以2=1...........0
1除以2=0...........1
直到商为零位置结束除2 那么我们2进制数为多少呢 我们余数从下到上依次为(1010100)2 所以这个1010100D 这个2进制数代表10进制数的84,
刚说的整数 那么我们现在说说小数例如;84.125
0.125X2=0.25,整数部分为0 去掉整数部分0.25X2=0.5,整数部分为0 去掉整数部分
0.5X2=1.0,整数部分为1,
一直到结果为1.0 那么小数部分用2进制表示为0.001 和整数相反 从上往下
所以84.125 用二进制表示为 1010100.001d
依次类推 8进制转化为10进制 16进制转化为10进制 无非是把多少平方改为多少进制而已
例如8进制转化为10进制则为多少乘以8的多少平方 依次相加
十六进制也是如此
八进制在这就不详细解释,直接说如何转化
二进制转化为8进制 如下是一个表格 每一个八进制数对应的2进制数的三位数
八进制数 二进制数
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111
举个例子11010111100.1101101 我们把它可以看成 从小数点开始从两边走 3个数为一组,最后缺的用0补成3位数
所以它为011 010 111 100 . 110 110 100 所以对应的数为3274.664
其实我们可以不用记表格 我们把三位数分别当成4 2 1然后与各自的对应的地方相乘后相加 得到几就是几 (记住3个数为一组)
八进制转化为2进制反过来就好了 (0 0 0)
2进制转化为16进制也是同样的办法 表格如下
十六进制 2进制
0 0001
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
a 1010
b 1011
c 1100
d 1101
e 1110
f 1111 (0 0 0 0)
在这里我就不举例了 方法还是和2进制转化为8进制一样 只不过现在是4位数字为一组 缺的还是用0补齐 那么我们也不用记表格 它是8 4 2 1 代表4位数 然后与各自的对应的地方相乘后相加 得到几就是几 (4个数为一组)
那么8 进制和16进制之间该如何转换呢
在转换的过程中我们就要借助2进制为桥梁 让8进制转化为2进制 转化成的2进制在转化为16进制。
以上就是二进制 8进制 16进制 10进制的相互转化