進数変換(途中式つき)
数を入力し、何進数の数か、何進数に変換するかを選んでください。非常に大きな数も正確に変換し、循環小数も判定します。割り算の繰り返し、位取りの足し算、掛け算による小数の変換まで、途中の計算をすべて表示します。
計算方法
n進数(位取り記数法)のしくみ
b進数では、各桁の値は数字 × b位です。10進数の255は2 × 10² + 5 × 10¹ + 5 × 10⁰を意味します。2進数は0と1だけ、8進数は0〜7、16進数は0〜9とA〜F(A = 10 … F = 15)を使います。10より大きい基数ではアルファベットを借りて使い、36進数ではZ = 35までになります。
| 10進数 | 2進数 | 8進数 | 16進数 |
|---|---|---|---|
| 10 | 1010 | 12 | A |
| 15 | 1111 | 17 | F |
| 100 | 110 0100 | 144 | 64 |
| 255 | 1111 1111 | 377 | FF |
n進数から10進数へ:各桁の重みを足す
各桁に基数のべき乗を掛けて合計します:FF₁₆ = 15 × 16¹ + 15 × 16⁰ = 240 + 15 = 255。小数点以下の桁はマイナスのべき乗になり、0.1₂ = 1 × 2⁻¹ = 0.5です。
10進数からn進数へ:割り算を繰り返す
商が0になるまで変換先の基数で割り続け、余りを書き出します。余りを下から上へ読んだものが答えです。例:13を2進数に変換するやり方:
- 13 ÷ 2 = 6 余り 1
- 6 ÷ 2 = 3 余り 0
- 3 ÷ 2 = 1 余り 1
- 1 ÷ 2 = 0 余り 1
下から読んで13 = 1101₂です。
小数の変換:掛け算と循環小数
小数部分に基数を掛け、整数部分を次の桁とし、残った小数部分で同じ計算を続けます。0.1を2進数に変換すると:0.1 × 2 = 0.2 → 0、0.4 → 0、0.8 → 0、1.6 → 1、1.2 → 1、そして再び0.4が現れます。結果は0.1 = 0.0(0011)₂という循環小数で、コンピュータが0.1を正確に保存できない理由です。
割り切れるかどうかは、約分した分母だけで決まります。分母のすべての素因数が基数を割り切れば、有限桁で終わります。1/2は2進数で割り切れますが(0.1₂)、1/10は5が2を割り切らないため割り切れません。このツールは浮動小数点ではなく整数(BigInt)で計算するため、循環節を正確に判定します。
負の数と2の補数
紙の上では、負の数にはマイナス記号を付けるだけです:−255 = −FF₁₆。コンピュータ内部では2の補数で表します。絶対値を2進数で書き、全ビットを反転し、1を足します。8ビットの−1は、0000 0001 → 1111 1110 → 1111 1111です。nビットで表せる範囲は−2ⁿ⁻¹〜2ⁿ⁻¹ − 1で、8ビットなら−128〜127。128はオーバーフローになります。
よくある質問
10進数を2進数に変換するやり方は?
商が0になるまで2で割り続け、余りを書き出します。余りを下から上へ読んだものが2進数です:13 → 6 余り1、3 余り0、1 余り1、0 余り1 → 1101。
2進数を10進数に変換するには?
各桁に2のべき乗(右端が2⁰)を掛けて合計します:1101₂ = 1 × 8 + 1 × 4 + 0 × 2 + 1 × 1 = 13。
2進数と16進数の変換方法は?
16 = 2⁴なので、2進数を右から4桁ずつ区切り、それぞれを16進数1桁に置き換えます:1111 1111 = F F = FF。逆に16進数の各桁を4桁の2進数に直せば2進数に戻ります。8進数は8 = 2³なので3桁ずつ区切ります。
16進数を10進数に変換するには?
各桁に16のべき乗(右端が16⁰)を掛けて合計します。A〜Fは10〜15です:2F₁₆ = 2 × 16 + 15 = 47。
小数の進数変換のやり方は?
10進数の小数をn進数にするには、小数部分に基数を掛け、整数部分を1桁ずつ取り出します。0.1は2進数で0.000110011…₂と無限に続く循環小数になり、多くのプログラミング言語で0.1 + 0.2がちょうど0.3にならない原因です。
2の補数とは?
コンピュータが負の整数を表すための標準的な方法です。絶対値を2進数で書き、全ビットを反転して1を足します。8ビットの−1は1111 1111(FF)になり、8ビットで表せる範囲は−128〜127です。
出典・根拠
- Wikipedia(日本語): 位取り記数法
- Wikipedia(日本語): 2の補数
- MDN Web Docs: parseInt() – radix 2 to 36, digits 0–9 and A–Z
更新日:
関連ツール
- 累乗計算機(べき乗・ルート・対数)累乗・べき乗の計算を途中式付きで。マイナスや分数の指数、n乗根、底を自由に選べる対数(log・ln)にも対応し、正確な値と指数表記を表示します。
- 指数表記の変換ツール(計算過程つき)数値を指数表記(a×10ⁿ)に変換、または元の数に戻せるツールです。E表記、SI接頭語つきの工学表記、有効数字にも対応し、計算過程を表示します。
- ローマ数字 変換ツールローマ数字と算用数字(1〜3999)を相互に変換。途中式、減算のルール、IIIIやICのような誤った書き方のチェック付き。年号や日付の読み方にも使えます。
- 分数計算分数と帯分数のたし算・ひき算・かけ算・わり算を途中式付きで計算します。約分や、小数・循環小数から分数への変換にも対応した無料の計算サイトです。
- 有効数字の計算機:桁数の判定・丸め・掛け算と足し算有効数字の桁数を数え、有効数字n桁に四捨五入し、掛け算・足し算のルールで計算します。有効な桁を強調し、計算方法を手順で表示します。
- 九九練習九九をオンラインで無料練習。段を選んで大きな数字ボタンで答え、テストで結果を確認したり九九表を見たりできます。間違えた問題はくり返し出題されます。