Java初心者の競技プログラミング日記

Dvorak配列でjavaを書いてます

基数変換メソッド

n進数snをm進数に変換するメソッド。
使用できる基数(n,m)は2以上36以下。

static String BaseConversion (String sn, int n, int m) {
	String sm = Long.toString(Long.parseLong(sn,n),m);
	return sm;
}



使用例

//10進数5を2進数に
System.out.println(BaseConversion("5",10,2)); //output = 101

//5進数1234を10進数に
System.out.println(BaseConversion("1234",5,10)); //output = 194

//36進数aiueoを10進数に
System.out.println(BaseConversion("aiueo",36,10)); //output = 17675376



汎用性を重視するため、引数も戻り値もString型にしてみた。
Longを使っているのは桁あふれ防止のため。変換後の値がint型の範囲を超えないなら、intでも大丈夫だと思う。