Julia - 10進数→N進数/N→10進数変換
Juliaで2進数や16進数へ変換するには?
Juliaで数値を変換するには10進数から変換する場合と10進数へ変換する場合で使う関数が異なります。
10進数からN進数に変換する
Int型10進数はstring関数を使うことにより、N進数の文字列型に変換できます。 baseで何進数かを、padで表示する桁数を指定できます。
string(10, base=2) #10(10進数)を"1010"(2進数)に変換 string(255, base=16) #255(10進数)を"ff"(16進数)に変換 string(255, base=16, pad=4) #4桁まで表示させる。結果は"00ff"
N進数から10進数に変換する
String型のN進数はparse関数を使って、Int型10進数に変換できます。 baseで何進数から10進数へ変換するか指定します。
parse(Int ,"ff", base=16) #16進数"ff"を255へ変換 parse(Int ,"1010", base=2) #2進数"1010"を10へ変換
組み合わせることで2進数から16進数や16進数から2進数への変換ができます。
a = 1010 #二進数1010 a = string(a) #string型へ変換 a = parse(Int, a, base=2) #10進数へ変換 a = string(a, base=16, pad=4) #16進数へ変換 println(a) #結果、"000a"