日期:2014-05-20  浏览次数:20651 次

有关整数进制之间的转换
      今天在整理java笔记的时候,看到有关进制转换的问题,一看忘记的差不多了,赶紧又找了一下计算机组成原理,记得老师在讲时经常说,作为学计算机的,一定要对数字敏感,而进制之间的转换更要手到擒来啊,嘿嘿。今天重新整理一下,写了下来,大家有兴趣的可以看一下,不对的地方可以指出啊,可能不全面,剩下的就交给大家了。


(1)二进制、八进制、十六进制转化为十进制:
    二进制:2(a):a代表次方;
    1011=1*2(3)+0*2(2)+1*2(1)+1*2(0);
    十六进制:BA=11*16(1)+10*16(0);
    八进制:23=2*8(1)+3*8(0);
(2)二进制转为八进制:

  如: 10 110 110(2)=266(8) 每三位取一位,前面不足的补0;

(3)二进制转为十六进制:
  如: 1011 0110(2)=B16(16) 每四位取一位,前面不足的补0;

(4)十进制转为二进制:2(m):m代表次方;
      2(0)=1         2(1)=2          2(2)=4         
     2(3)=8         2(4)=16         2(5)=32        
     2(6)=64        2(7)=128        2(8)=256       
     2(9)=512       2(10)=1024      2(11)=2048     
     如:567(10)=512+32+16+4+2+1=1000110111(2)  

(5)十进制转为八进制:8(n):n代表次方;
     8(0)=1         8(1)=8           8(2)=64
    8(3)=512       8(4)=4096
    如:85(10)=64+2*8(1)+5*8(0);

(6)十进制转为十六进制:
     16(0)=1       16(1)=16         16(2)=256
    16(3)=4096    
    如:85(10)=5*16(1)+5*16(0)=55(16)
(7)八进制与十六进制之间的转换可以通过一个中间变量十进制来表示;

剩下没说的请大家来说吧,还有就是八进制和十六进制之间直接转换的,我还不太会,希望大家给指点指点啊!(本来上面的有几个是我在windows的画图里完成的,但不知为啥,在这里我还不太会上传图片这个,大家见笑了)。

------解决方案--------------------
温故而知新,不错不错。
十进制转换为任意进制,只要知道短除、取余即可。