使い方
- 「進数変換」に数を入力してその数の進数を選ぶと、2進数・8進数・10進数・16進数の値がすぐに表示されます。3進数や36進数など2〜36の別の進数を選ぶと、その進数の値も表示されます。
- 英字の大文字・小文字は区別せず、スペースとアンダースコア(_)は無視します。選んだ進数に合う接頭辞(2進数の0b、8進数の0o、16進数の0x)は付けたままでも入力できます。
- 「進数計算」では2・8・10・16進数のいずれかを選び、2つの数と演算を指定すると、結果をその進数と10進数で表示します。割り算では商と余りを一緒に表示します。
- 2進数の結果は読みやすいように右から4桁ずつ区切って表示します。スペースは無視されるので、この値をそのままコピーして貼り付けても同じ数として読み込まれます。
進数変換のしくみ
- N進数では、右端の桁から順に1、N、N²、N³…の重みを持ちます。10進数の352 = 3×100 + 5×10 + 2×1と同じように、ほかの進数も読み取れます。
- N進数から10進数へ:各桁の数字にその桁の重みを掛けて足します。1011₂ = 1×8 + 0×4 + 1×2 + 1×1 = 11
- 10進数からN進数へ:商が0になるまでNで割り続け、余りを最後のものから逆順に読みます。
- 16進数は0〜9の次にA(10)〜F(15)を、36進数はZ(35)までの英字を使います。2AF₁₆ = 2×256 + 10×16 + 15 = 687
- 2進数の4桁は16進数の1桁、3桁は8進数の1桁に対応するため、2進数と16進数・8進数の変換は桁をまとめるだけです。1111 1111₂ = 377₈ = FF₁₆ = 255
手順で見る計算例:10進数の200を2進数・16進数に
- 手順1、2で割ります:200 ÷ 2 = 100 余り 0、100 ÷ 2 = 50 余り 0、50 ÷ 2 = 25 余り 0、25 ÷ 2 = 12 余り 1
- 手順2、商が0になるまで続けます:12 ÷ 2 = 6 余り 0、6 ÷ 2 = 3 余り 0、3 ÷ 2 = 1 余り 1、1 ÷ 2 = 0 余り 1
- 手順3、余りを最後から順に読むと11001000なので、200 = 1100 1000₂です。
- 手順4、2進数を4桁ずつまとめると1100 = C、1000 = 8なので16進数はC8、3桁ずつ(11、001、000)まとめると8進数は310です。
- 検算:C8₁₆ = 12×16 + 8 = 200、310₈ = 3×64 + 1×8 + 0 = 200
進数計算の例
- 1010₂ + 0110₂ = 1 0000₂(10進数では 10 + 6 = 16)
- 1111₂ ÷ 100₂ = 商 11₂、余り 11₂(10進数では 15 ÷ 4 = 3 余り 3)
- 1100₂ AND 1010₂ = 1000₂、OR は 1110₂、XOR は 110₂(10進数では 8、14、6)
- A5₁₆ XOR FF₁₆ = 5A₁₆(10進数では 165 XOR 255 = 90)。FFとXORをとると下位8ビットがすべて反転します。
- FF₁₆ + 1 = 100₁₆(10進数では 255 + 1 = 256)
知っておきたいポイント
- 負の数は符号を付けたまま変換します(−5 → −101₂)。8ビットの2の補数表現が必要なら256 − 5 = 251を変換して1111 1011₂(FB₁₆)を、16ビットなら65536 − 5 = 65531(FFFB₁₆)を求めます。
- 接頭辞は選んだ進数と一致するときだけ取り除きます。16進数を選んだ状態で0b11と入力するとB11₁₆(10進数で2833)と読まれるので、2進数の値は2進数を選んでから入力してください。
- 割り算の商は0の方向に切り捨て、余りの符号は1つ目の数に合わせます。−7 ÷ 2 = 商 −3、余り −1
- 入力できるのは整数のみで、小数点があると整数のみ入力できる旨を表示します。そのかわり桁数の制限がなく、非常に長い数も誤差なく計算します。
よくある質問
2進数を10進数に変換するには?
「進数変換」で2進数を選んで数を入力すると、10進数の値がすぐに表示されます。手計算では右端の桁から順に1、2、4、8…を掛けて足し、1011₂ = 8 + 2 + 1 = 11のように求めます。
10進数を16進数に変換する方法は?
16で割り続け、余りを逆順に読みます。200 ÷ 16 = 12 余り 8、12 ÷ 16 = 0 余り 12(C)なので、200 = C8₁₆です。
16進数のFFは10進数でいくつですか?
255です。Fは15を表すので FF₁₆ = 15×16 + 15 = 255 となり、2進数では1111 1111です。
負の数も変換できますか?
はい、先頭に−を付けると、−FF₁₆ = −255のように符号を付けたまま変換します。8ビットや16ビットのような固定長の2の補数表現には変換しないため、必要なら256 − 5 = 251のように2のべき乗から引いた値を変換してください。
負の数でAND・OR・XORを計算するとどうなりますか?
負の数は、左側に1が無限に続く2の補数として計算します。たとえば −5 AND 3 = 3、−1 XOR 5 = −6 で、このとき結果の下にその旨を表示します。
小数も変換できますか?
いいえ、整数のみ対応しています。そのかわり桁数の制限がなく、非常に長い整数も誤差なく変換できます。
何進数まで変換できますか?
2進数から36進数まで変換できます。10以上の数字はA(10)〜Z(35)の英字で表し、たとえばZZ₃₆ = 1295です。進数計算は2・8・10・16進数で行えます。