プレビュー: 日本語版は確認中のプレビューで、検索インデックスには登録されません。

基数変換:2進数、8進数、10進数、16進数

2進数、8進数、10進数、16進数の4つの位取り記数法で整数を変換します。JavaScript BigIntを使うため、受け付ける大きな整数も丸めず正確に処理します。

変換できます数値を入力して基数を選択してください

入力時の注意

  • 2進数は0と1のみ(例:1101)。
  • 8進数は0〜7の数字(例:755)。
  • 16進数は0〜9とA〜Fを大文字・小文字どちらでも使用できます(例:1F、a3)。
  • 16進数の入力に限り、0xまたは0Xを先頭に付けられます。2進数の0b、8進数の0o接頭辞は使えません。
  • 入力上限は4,096桁です。非負整数を扱い、負数や小数には対応しません。

位取り記数法の仕組み

2進数(基数2)

0と1を使い、各桁は2の累乗を表します。コンピューターはデジタル状態で情報を符号化し、2進数でその値を表します。

8進数(基数8)

0〜7を使います。8進数1桁は2進数3桁に対応し、Unix権限など一部のビット列を短く表せます。

10進数(基数10)

0〜9を使う、日常的な記数法です。各桁は10の累乗を表します。

16進数(基数16)

0〜9とA〜Fを使います。1桁が2進数4桁に正確に対応するため、長いビット列を短く書けます。

計算例

  • 2進数1010 → 10進数10:1×8 + 0×4 + 1×2 + 0×1 = 10。
  • 10進数255 → 16進数FF。
  • 16進数3F → 2進数111111(4桁ごとに分けると0011 1111)。
  • 8進数755 → 10進数493:7×64 + 5×8 + 5 = 493。

主な用途

  • プログラミング:ビットマスク、フラグ、アドレス表現。
  • 電子機器:デジタル状態とレジスター値。
  • Webデザイン:#FF6B35のような16進数カラーコード。
  • オペレーティングシステム:Unixファイル権限のビット表現に8進数がよく使われます。
  • Base64はバイトをテキストにする符号化方式で、位取り基数ではありません。専用のテキスト符号化ツールを使用してください。

変換早見表

10進数2進数8進数16進数
81000108
15111117F
16100002010
64100000010040
25511111111377FF
1024100000000002000400

手作業での簡単な変換

10進数から2進数へは2で繰り返し割り、余りを下から読みます。13の余りは1、0、1、1となり1101です。2進数から16進数へは右から4桁ずつまとめます。11010110は1101 | 0110、つまりD6です。

よくある質問

16進数の前に付く0xは何ですか?

多くのプログラミング言語で基数16を示す接頭辞です。0xFFは255です。0Xも受け付けますが、0bと0oは受け付けません。

基数を16より大きくできますか?

はい。基数36は0〜9とA〜Zを使うコンパクトな識別子などに利用されます。このツールで選べるのは2、8、10、16です。

負数や小数を変換できますか?

いいえ。非負整数のみ対応します。

2進数の表現に16進数が便利なのはなぜですか?

16進数1桁が正確に4ビットに対応するためです。たとえばD6は2進数で1101 0110です。

技術資料

MDN — BigInt.prototype.toString()

関連ツール

ローマ数字変換

基数変換:2進数、8進数、10進数、16進数 — Português (Brasil)