進数(基数)とは
進数(基数)とは、いくつの数字で1つ桁が繰り上がるかを表す数え方です。普段使う10進数は10ごとに、2進数は2ごとに、16進数は16ごとに桁が繰り上がります。コンピュータの内部では0と1だけで動作するため2進数が基本ですが、桁数が長く読みにくいので、4桁ずつまとめて短く表せる16進数がプログラミングでよく使われます。8進数はUnixのファイル権限表記などで見かけます。
主な進数変換のやり方
10進数から2進数・8進数・16進数への変換
変換したい進数で割り続け、出てきた余りを下から順に並べます。例えば10進数の100を2進数に変換する場合、2で割り続けた余りを下から並べると 1100100 になります(100 = 64 + 32 + 4)。
2進数・8進数・16進数から10進数への変換
各桁の数字に、その桁の重み(基数のべき乗)を掛けて足し合わせます。例えば2進数の1100100を10進数に戻すと、1×2⁶ + 1×2⁵ + 1×2² = 64 + 32 + 4 = 100 です。
2進数と8進数・16進数の高速な相互変換
8 = 2³、16 = 2⁴ なので、2進数を3桁ずつ(8進数)・4桁ずつ(16進数)に区切ってそれぞれ変換すれば、10進数を経由せず素早く変換できます。例えば2進数の1100100を4桁ずつ区切ると 0110 0100 となり、16進数の64に対応します。
このツールの特徴
- 2 / 8 / 10 / 16 / 32 / 64進の6種類を同時にリアルタイム変換。いずれか1つのフィールドに入力するだけで残り全部が即座に更新されます
- 桁数無制限。BigIntによる任意精度演算のため、JavaScriptの安全整数範囲を超える桁も正確に変換できます
- 符号付き整数に対応。先頭に「-」を付けて負の数を入力できます
- ↑↓キーで1ずつ、Shift+↑↓キーで10ずつ増減できるキーボード操作に対応
- 完全無料・登録不要・広告なし
よくある質問
進数変換のやり方は?
10進数からの変換は基数で割り続けて余りを並べ、10進数への変換は各桁に基数のべき乗を掛けて足し合わせます。詳しい手順は上記「主な進数変換のやり方」をご覧ください。
32進・64進はBase32/Base64エンコードと同じですか?
いいえ、異なります。このツールの32進・64進は0-9 → A-Z → a-z → +/ の順で桁を割り当てる単純な位取り記数法で、1つの整数をその進数で表現しているだけです。RFC 4648のBase32/Base64エンコード(バイト列を文字列化する規格)とは別物なのでご注意ください。
小数点を含む数値は変換できますか?
現在は整数のみに対応しています。小数点を含む数値の変換には対応していません。
負の数は変換できますか?
対応しています。いずれかのフィールドの先頭に「-」を付けて入力すると、符号付き整数として他の進数にも変換されます。