如题,parseInt("Kona", 27) returns 411787 是如何计算的?
想不明白这个问题,在论坛里搜到了别人的帖子,可是还是有点疑问
http://topic.csdn.net/t/20050317/09/3857619.html#
为什么字母k 对应 19? o 对应 24 ?
想不明白这个问题,在论坛里搜到了别人的帖子,可是还是有点疑问
http://topic.csdn.net/t/20050317/09/3857619.html#
为什么字母k 对应 19? o 对应 24 ?
public class Test2{
public static void main(String[] args){
String str="Kona";
System.out.println(myParse(str,27));
//下面把第一个字符对应27进制数打出来.
//
for(int i=0;i<str.length();i++){
System.out.println("'"+str.charAt(i)+"'="+Character.digit(str.charAt(i),27));
} }
//下面的程序是把一个字符串看到radix进制的数,将其转为long值,返回.
//算法和把一个数字字符转为数值一样.
//
public static long myParse(String str,int radix){
long result=0;
for(int i=0;i<str.length();i++){
char c=str.charAt(i);
result=result*radix+Character.digit(c,radix);
}
return result;
}
}F:\java>java Test2
411787
'K'=20
'o'=24
'n'=23
'a'=10