进制之间相互转换
关键是通过10进制作为中介,实现任意进制的转换
其他进制转十进制
Long.parseLong(String,原始进制)
例如
//2进制转十进制,同理可得其他进制转十进制
Long num = 100000l;
System.out.println(Long.parseLong(num.toString(),2));
输出
32 |
---|
十进制转其他进制
例如
//十进制转2进制,同理可转其他进制
Long b = 32l;
System.out.println(Long.toString(b,2));
因为int,long默认为10进制,如要实现3进制转为5进制,首先将10进制转为3进制,3进制再转为5进制,例如我们要把值为’122’的3进制转为5进制
Integer num = 122;
//得到10进制
Integer n3 = Integer.parseInt(num.toString(),3);
//10转5
Integer n5 = Integer.valueOf(Integer.toString(n3,5));
System.out.println(n5);
输出
32 |
---|
由此,我们就可以完成任意进制之间的转换,当然这只是调用java自带的方法,有能力的同学建议学习进制转换的算法