二进制数 八进制数 十进制数 十六进制数 之间的相互转换!!!!

来源:互联网 发布:利达主机编程软件 编辑:程序博客网 时间:2024/04/26 19:36

  咳咳   咳咳   开场还是要像个领导,领导开场都是咳咳  两声,我咳了四声  说明我不是领导啊 !  好的 进入正题。

      

     先说说对于我们来说最简单的 ,  我们从小到大接触的算法都是十进制 ,那什么叫十进制呢?

十进制数是组成以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进制的相互转化

1 0
原创粉丝点击