注意:由于数字只能由 ‘0’-‘9’ 和 ‘a’-‘z’ 表示,因此最多只能是36进制。在进制转换时,经常会用到参数 radix
(基数),表示进制数,因此 2<=radix<=36。
类型一:其他进制转换为十进制
1.把y进制的数字x转换为十进制
Integer.parseInt(x,y);
2.把x数字转换为y进制的字符串
Integer.toString(x,y);//Integer.toString(b)
3.
Integer.valueOf(“0100101”,2).tostring();//二进制转换为十进制
Integer.valueOf(“23”,8).tostring();//八进制转换为十进制
Integer.valueOf(“A2”,16).tostring();//十六进制转换为十进制
类型二:十进制转换为二,八,十六进制
Integer.toHexString(int i);//十进制转换为十六进制
Integer.toOctalString(int i);//十进制转换为八进制
Integer.toBinaryString(int i);//十进制转换为二进制
类型三:任意进制之间的转换
//可以将其先转换为10进制然后再转换为目标进制
Integer tem=Integer.parseInt(s_m,m); //将m进制的s_m转换为10进制
String s_n=Integer.toString(tem,n); //将tem转换为n进制
类型四:大数之间的进制转换
String string = new BigInteger("3244",5).toString(30);
//以上意思为把3244这个五进制数转成三十进制的数
其他:进制之间是如何转化的
1.十六进制数转换为二进制数的步骤:每一位十六进制数,转换为四位二进制数。
例如:(1A9F. 1BD)16= (0001 1010 1001 1111.0001 1011 1101)2
2.二进制数转换为八进制数的步骤:
例如:(10111001010.1011011)2= ( 010 111 001 010.101 101 100)2= ( 2712.554)8
由于3位二进制数恰好是1位八进制数,以小数点为界,将整数部分自右向左和小数部分自左向右每4位为一组(不足3位用零补足),将各3位二进制数转换为对应的一位八进制数。反之八进制转换二进制把每一位八进制数转换为对应的3位二进制。
3.十进制整数转换为非十进制整数
采取“除基取余法”(除基取余,先余为低,后余为高)
将十进制整数逐次除以需转换为的数制的基数,
直到商为零为止,
将所得到的余数自下而上排列
例如:


本文详细介绍了不同进制间的转换方法,包括从其他进制转换为十进制、十进制转换为二、八、十六进制,以及任意进制间的转换。还探讨了大数之间的进制转换,如五进制转三十进制,并提供了具体的转换步骤和实例。通过Integer.parseInt、Integer.toString等函数,以及'除基取余法',帮助读者理解并掌握进制转换的技巧。
303

被折叠的 条评论
为什么被折叠?



