有关整数进制之间的转换
今天在整理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的画图里完成的,但不知为啥,在这里我还不太会上传图片这个,大家见笑了)。
------解决方案--------------------温故而知新,不错不错。
十进制转换为任意进制,只要知道短除、取余即可。