🔟 進数変換(2進数・8進数・10進数・16進数)
一括変換
1111 1111
377
255
FF
ビット列で見る
| 符号なしとして読む | 255 |
| 符号つき(2の補数)として読む | 255 |
ビット演算
両方が1のビットだけ1。特定のビットだけ取り出す(マスク)ときに使う
0〜15の対応表
| 10進数 | 2進数 | 8進数 | 16進数 |
|---|---|---|---|
| 0 | 0000 | 0 | 0 |
| 1 | 0001 | 1 | 1 |
| 2 | 0010 | 2 | 2 |
| 3 | 0011 | 3 | 3 |
| 4 | 0100 | 4 | 4 |
| 5 | 0101 | 5 | 5 |
| 6 | 0110 | 6 | 6 |
| 7 | 0111 | 7 | 7 |
| 8 | 1000 | 10 | 8 |
| 9 | 1001 | 11 | 9 |
| 10 | 1010 | 12 | A |
| 11 | 1011 | 13 | B |
| 12 | 1100 | 14 | C |
| 13 | 1101 | 15 | D |
| 14 | 1110 | 16 | E |
| 15 | 1111 | 17 | F |
境目になる値
| 10進数 | 16進数 | 意味 |
|---|---|---|
| 255 | FF | 8bitの最大値。RGBの各成分やサブネットマスクで見かける |
| 1024 | 400 | 2の10乗。1KiB |
| 4095 | FFF | 12bitの最大値 |
| 65535 | FFFF | 16bitの最大値。ポート番号の上限 |
| 16777215 | FFFFFF | 24bitの最大値。カラーコード #FFFFFF |
| 2147483647 | 7FFFFFFF | 符号つき32bitの最大値。INT_MAX |
| 4294967295 | FFFFFFFF | 符号なし32bitの最大値。IPv4アドレスの総数 |
| 9223372036854775807 | 7FFFFFFFFFFFFFFF | 符号つき64bitの最大値。BIGINTの上限 |
進数の考え方
進数(基数)とは:いくつ集まったら位が上がるかの決まりです。10進数は0〜9の10種類を使い、9の次で位が上がって10になります。2進数は0と1の2種類、16進数は0〜9とA〜Fの16種類を使います。
10進数から他の進数へ:変換先の基数で割り算を繰り返し、余りを下から並べます。13を2進数にするなら、13÷2=6余り1、6÷2=3余り0、3÷2=1余り1、1÷2=0余り1で、下から読んで 1101 です。
他の進数から10進数へ:各桁に「基数の桁数乗」を掛けて足します。2進数の1101なら 1×8 + 1×4 + 0×2 + 1×1 = 13 です。
2進数と16進数が相性がいい理由:16 = 2の4乗なので、2進数のちょうど4桁が16進数の1桁に対応します。1111 が F、1010 が A というように、4桁ずつ区切って読み替えるだけで変換できます。8進数は3桁ずつです。
2の補数:負の数を扱うための表現方法です。ビットを反転して1を足した値を負数とみなします。8bitで -1 は 11111111 になり、符号なしとして読むと255です。同じビット列でも、符号つきか符号なしかで意味が変わります。
プレフィックス:多くのプログラミング言語では、16進数を 0x、2進数を 0b、8進数を 0o で始めて区別します。このツールでも、進数の指定と一致していればプレフィックス付きのまま貼り付けられます。
※ 入力内容はすべてブラウザ内で処理しており、弊社サーバーへ送信・保存することは一切ありません。
※ 計算にはBigIntを使っているため、桁数の上限がありません。64bitを超える長い16進数でも値が丸められることなく変換できます。
※ ビット演算は選択したビット幅で行い、はみ出した上位ビットは切り捨てます。
2進数・8進数・10進数・16進数を、入力すると同時にまとめて相互変換します。2〜36進数の任意の基数にも対応。ビット列の確認やビット演算にもご利用ください。