目前对小数据范围有效,大数据范围有瑕疵,待修改。
蓝桥杯的几道练习题是有关进制转换的,这里写篇小博客记录一下。
这里以数据范围不超过int为例,所用方法皆为Integer类。
其他进制转十进制
用Integer.parseInt(a,b)方法,a为其他进制的字符串表示形式,b为其他进制,这样转换出来的a为十进制。
int a = Integer.parseInt(StringOfNumber, radix);
十进制转其他进制
用Integer.toString(i, radix)方法,i表示十进制数字,radix表示将要转换的其他进制。
String s = Integer.toString(i, radix);
有一些特殊的方法,对应特殊的进制
//对应十进制转二进制
Integer.toBinaryString(i);//
//对应十进制转八进制
Integer.toOctalString(i);//
//对应十进制转十六进制
Integer.toHexString(i);//
其他进制转其他进制
通过另一其他进制进行中间转换即可。
注:在题中要注意数据范围,有可能转换到十进制时太大,这时候要用更大的范围,如Long