n進数変換
Math::BaseCalcモジュールを使うと基数変換を簡単に行うことができます。
use strict; use warnings; use Math::BaseCalc; my $calc13 = Math::BaseCalc->new(digits => [0..9, 'A'..'C']); # 10進数から13進数への変換 my $num_10 = 20; # 10進数の20 printf "%s(10) => %s(13)\n", $num_10, $calc13->to_base($num_10); # 20(10) => 17(13) # 13進数から10進数への変換 my $num_13 = '2C'; # 13進数の2C printf "%s(13) => %s(10)\n", $num_13, $calc13->from_base($num_13); # 2C(13) => 38(10) my $calc2 = Math::BaseCalc->new(digits => [0..1]); # 13進数から2進数への変換 printf "%s(13) => %s(2)\n", $num_13, $calc2->to_base($calc13->from_base($num_13)); # 2C(13) => 100110(2)
関連項目
・10進16進数変換・2進10進数変換
・漢数字変換
・英語の数字変換