10 進数の整数を、指定した基数 (2〜36) の表記に変換します。10 以上の桁は A、B、C … で表します。2 進数・8 進数・16 進数もあわせて出します。
解説
10 進数の整数を、指定した基数(2 から 36)の表記に変換します。
n 進数は、各桁が n のべき乗の重みを持つ表し方です。ふだん使う 10 進数が 10 のべき乗の重みで書かれているのと同じことを、別の基数でやります。たとえば 2 進数なら、各桁の重みは 2 のべき乗です。
255=1×27+1×26+⋯+1×20 変換の手順は単純です。基数で割り、余りを書き留め、商をまた基数で割る。これを商が 0 になるまで繰り返し、書き留めた余りを下から上へ読みます。
- 10 進数 — 変換したい整数。0 以上の整数です
- 基数 — 2 から 36 の整数
- 10 以上の桁は A、B、C … の文字で表します。16 進数の F は 15 を表します
例
10 進数の 255 を 2 進数にします。255 を 2 で割り続けると余りはすべて 1 で、8 回で商が 0 になります。下から読むと
255(10)=11111111(2) です。255=256−1=28−1 なので、1 がちょうど 8 個並ぶわけです。同じ 255 は、8 進数では 377、16 進数では FF になります。
注意
- 基数は 2 から 36 の整数です。範囲外はエラーになります。36 までなのは、数字 10 個とアルファベット 26 文字で 36 種類の桁しか表せないためです
- 入力は 0 以上の整数です。負の数や小数は扱えません
- 16 進数の 1 桁は、2 進数のちょうど 4 桁に対応します。FF を 1111 1111 と区切って見ると、その対応が分かります
- 桁数が多いほど値が大きい、とはかぎりません。基数が小さいほど、同じ値でも桁数は多くなります