二進数・数値基数変換器
一度の入力で、非負整数を十進数・二進数・十六進数・八進数の間で変換します。
十進数・二進数・十六進数・八進数を変換
いずれか一つの欄に値を入力し、四つの一般的な記数法に変換します。
二進数・数値基数変換器について
記数法は基数に従って各桁に値を割り当てます。十進法は基数 10 でゼロから九、二進法は基数 2 でゼロと一だけを使います。八進法は基数 8 でゼロから七を使います。十六進法は基数 16 で、十進法の数字に A から F を加えて十から十五を表します。同じ数量でも、記数法によって書き方が変わります。
コンピューターは情報を二値状態で保存するため、基数 2 はデジタル回路やプログラミングの基本です。二進数列は長くなりやすいため、八進法と十六進法が簡潔なまとめ方を提供します。十六進数の一桁は正確に四ビット、八進数の一桁は三ビットに対応します。例えば十進数 255 は二進数 11111111、十六進数 FF、八進数 377 です。四つの異なる値ではなく、一つの整数の四通りの表記です。
この変換器では四つの欄のどれでも変換元にできます。値を入力すると他の欄が消去され、使用中の記数法が記録されます。「数値を変換」を選ぶと、使用可能な数字を検証して元の値を解析し、等価な十進数・二進数・十六進数・八進数を各欄に表示します。十六進数は読みやすい大文字で出力します。先頭のゼロは値を変えないため省略されます。
変換の仕組みは位取りで説明できます。二進数の各桁は右から順に二の累乗、すなわち一、二、四、八と続きます。二進数 101010 は 32 と 8 と 2 の和で、十進数 42 です。十六進数 2A は十六が二つと十で、同じく 42 です。八進数 52 は八が五つと二で、やはり 42 になります。
計算機は、JavaScript が整数を正確かつ安全に扱える範囲の非負整数を受け付けます。小数や符号付き二の補数の解釈は、精度、ワード長、符号化方式の指定が必要なため対象外です。一で始まる二進数列も正の大きさとして扱い、自動的に負の符号付き値にはしません。ビット単位のプログラミングでは、符号付きとして解釈する前に想定するワード長を決めてください。
プログラム定数の確認、位取りの学習、デジタル論理値の変換、権限表記の読み取り、符号化された識別子の比較に使えます。手作業で確認するには、二進数を右から四桁ずつまとめると十六進数、三桁ずつなら八進数にできます。元の基数を明確にすれば、十進数 1010 を二進数 1010 と取り違えるミスを防げます。後者は十進数の十を表します。
記数法変換の例
| 変換元 | 同じ値の各表記 | 説明 |
|---|---|---|
| 十進数 255 | 二進数 11111111、十六進数 FF、八進数 377 | 一のビットが八つ並ぶと十進数 255 になります。 |
| 二進数 101010 | 十進数 42、十六進数 2A、八進数 52 | 一になっている桁の位の値を足すと 42 です。 |
| 十六進数 100 | 十進数 256、二進数 100000000、八進数 400 | 十六進数 100 は十六の二乗です。 |
| 八進数 755 | 十進数 493、二進数 111101101、十六進数 1ED | よく使う Unix の権限表記を数値として変換した例です。 |
二進数変換器の使い方
- 変換元の記数法に合う欄を一つ選びます。
- その基数で有効な数字だけを使って非負整数を入力します。
- 「数値を変換」を選び、四つの等価な表記を求めます。
- 必要な十進数・二進数・十六進数・八進数の結果を読み取るかコピーします。
二進数変換器のよくある質問
二進数はどうやって十進数に変換しますか?
各ビットに対応する二の累乗を掛け、積を合計します。計算機はこの位取りの計算を自動で行います。
十六進数で文字を使うのはなぜですか?
基数 16 にはゼロから九以外に六つの記号が必要です。A から F が十進数の十から十五を表します。
どの欄に入力してもよいですか?
はい。最後に編集した欄が変換元になります。変換すると四つの欄に等価な表記が入ります。
負の二進数に対応していますか?
いいえ。非負整数の大きさを扱います。符号付き二進数には、ワード長と二の補数などの符号化規則が必要です。
先頭のゼロが消えるのはなぜですか?
先頭のゼロは整数の値に影響しません。変換器は各結果を最短の標準表記で表示します。