数値進数変換ツール: 2進数、16進数、10進数、8進数
2進数、10進数、8進数、16進数、あるいは2から36までの任意の基数の間で数値を変換する無料ツール。数字を入力するたびに正確な変換結果がリアルタイムで表示されるので、プログラマーや学生がコンピューターサイエンスの基礎を学ぶ際にも、無料で気軽にすぐ活用できる。
数値進数変換
入力すると自動的に変換されます
ドキュメンテーション
数値基数変換
数値基数変換ツールは、数値の値を変えずに、ある位取り記数法から別の位取り記数法へ数値の表記を変換します。二進数を十進数に、十進数を十六進数に変換したり、2から36までの任意の二つの基数の間で変換したりできます。
数値の基数とは?
数値の基数(radix)とは、記数法で新しい桁に移って同じ数字を繰り返し始めるまでに使う異なる数字の数です。日常の計数に使う十進法は基数10です。0から9までの十個の数字を使います。二進法は基数2で、0と1だけを使います。基数が10を超えると、不足する数字の代わりに文字を使います。Aは10、Bは11を表し、Zは35を表します。これにより、アルファベットの26文字と10個の数字だけで、ほとんどの変換ツールが対応する最大の基数である36まで扱えます。
数値内の各数字には、基数の累乗に基づく位の値があります。十進法では、「205」は2個の百、0個の十、5個の一を意味します。これは100と10が10の累乗だからです。同じ考え方は任意の基数に当てはまり、右端の数字には基数⁰、次の数字には基数¹、さらに次の数字には基数²を掛けます。
数値を別の基数に変換する方法
数値を十進数に変換する
任意の基数の数値を十進数に変換するには、右から0番目として各数字に、その位置の基数の累乗を掛け、その結果をすべて加算します。
公式: 値 = dₙ × 基数ⁿ + ... + d₁ × 基数¹ + d₀ × 基数⁰
例: 基数5の数値101を十進数に変換します。
- (1 × 5²) + (0 × 5¹) + (1 × 5⁰)
- = 25 + 0 + 1
- = 26
したがって、基数5の101は、十進数では26です。
十進数を別の基数に変換する
十進数を別の基数に変換するには、対象の基数で繰り返し割り、各回の余りを記録します。数値が0になったら終了し、最後に得られた余りから最初の余りへ逆順に読み取ります。
例: 十進数の26を基数5に変換します。
- 26 ÷ 5 = 5、余り1
- 5 ÷ 5 = 1、余り0
- 1 ÷ 5 = 0、余り1
- 余りを下から上へ読むと、101です。
これは先ほどの例を裏付けています。十進数の26は、基数5では101です。
計算例
二進数から十進数へ: 二進数1101は、次のように十進数へ変換されます。(1×2³) + (1×2²) + (0×2¹) + (1×2⁰) = 8 + 4 + 0 + 1 = 13です。
十進数から十六進数へ: 十進数202は、次のように十六進数へ変換されます。202 ÷ 16 = 12、余り10、次に12 ÷ 16 = 0、余り12です。十六進数では、10はA、12はCと書きます。余りを下から上へ読むとCAになります。したがって、十進数の202は十六進数ではCAです。
八進数から二進数へ: 八進数17をまず十進数に変換します。(1×8¹) + (7×8⁰) = 15です。次に十進数の15を二進数に変換すると1111になります。したがって、八進数の17は二進数では1111です。
主な数値の基数
| 基数 | 名称 | 使用する数字 | 用途 |
|---|---|---|---|
| 2 | 二進数 | 0–1 | コンピューターによるデータの保存と処理 |
| 8 | 八進数 | 0–7 | UnixおよびLinuxのファイル権限コード |
| 10 | 十進数 | 0–9 | 日常の計数 |
| 16 | 十六進数 | 0–9、A–F | メモリアドレス、ウェブ上のカラーコード |
| 36 | 基数36 | 0–9、A–Z | 短いウェブIDとコンパクトなコード |
非常に大きな数値
一部の変換では、標準的な倍精度演算で正確に扱えないほど大きな数値を扱います。たとえば、FFFFFFFFFFFFFFFFのような64ビットの十六進数値です。この変換ツールは任意精度整数演算を使って任意の大きさの整数を処理するため、長い数値でも丸めたり数字を失ったりしません。
変換ツールが受け付ける入力
このツールは、0以上の整数を、入力元の基数で使われる数字で記述したものとして読み取ります。文字は大文字と小文字のどちらでも入力できるため、ffとFFはどちらも基数16の255を意味します。数値の前後にある空白は無視されます。マイナス記号や小数点など、それ以外の文字は、「基数16に対して無効な文字が入力に含まれています」というメッセージで拒否されます。ここで基数は設定されている入力元の基数です。
よくある質問
二進数と十六進数の違いは何ですか?
2進数は0と1の2種類の数字だけを使います。16進数は、0から9までとAからFまでの16種類を使います。16は2⁴なので、16進数の1桁はそれぞれ正確に4桁の2進数を表します。そのため、16進数は2進数の値を短く表記する方法としてよく使われます。
十進数を手計算で二進数に変換する方法?
十進数を2で繰り返し割り、各回の余りを記録します。最後の割り算から最初の割り算へ、余りを逆順に読み取ります。たとえば、13 ÷ 2 = 6、余り1、6 ÷ 2 = 3、余り0、3 ÷ 2 = 1、余り1、1 ÷ 2 = 0、余り1です。下から上へ読むと1101となり、これは二進数の13です。
このツールが対応する最大の基数は何ですか?
このツールは2から36までの基数に対応します。基数36は、十個の数字0–9と二十六個の文字A~Zだけを使って到達できる最大の基数です。これでちょうど36種類の異なる記号になるためです。
このツールは負の数を変換できますか?
いいえ。受け付けるのは0と正の整数だけです。負の数を変換するには、その絶対値を変換してから、結果にマイナス記号を手動で付けます。
コンピューターは内部で二進数を使うのに、なぜ十六進数と八進数があるのですか?
1と0が長く連続する文字列は、人間には読みにくく、数え間違えやすいものです。16と8はいずれも2の累乗なので、十六進数と八進数の各桁は、二進数の固定長のグループ、つまり十六進数では四ビット、八進数では三ビットに正確に対応します。これにより、長い二進数の値を短くでき、目視で確認しやすくなります。
このツールが変換できる数値の大きさに上限はありますか?
実用上の上限はありません。このツールは標準的な浮動小数点数ではなく任意精度演算を使うため、一般的な電卓で正確に表現できる範囲を超える数値を含め、非常に長い値も丸め誤差なしで変換できます。