moldspoon

🔟 進数変換(2進数・8進数・10進数・16進数)

一括変換

2進数0b

1111 1111

8進数0o

377

10進数

255

16進数0x

FF

ビット列で見る

00000000
00000000
00000000
11111111
符号なしとして読む255
符号つき(2の補数)として読む255

ビット演算

両方が1のビットだけ1。特定のビットだけ取り出す(マスク)ときに使う

A00001100
B00001010
=00001000
10進数: 816進数: 88進数: 10

0〜15の対応表

10進数2進数8進数16進数
0000000
1000111
2001022
3001133
4010044
5010155
6011066
7011177
81000108
91001119
10101012A
11101113B
12110014C
13110115D
14111016E
15111117F

境目になる値

10進数16進数意味
255FF8bitの最大値。RGBの各成分やサブネットマスクで見かける
10244002の10乗。1KiB
4095FFF12bitの最大値
65535FFFF16bitの最大値。ポート番号の上限
16777215FFFFFF24bitの最大値。カラーコード #FFFFFF
21474836477FFFFFFF符号つき32bitの最大値。INT_MAX
4294967295FFFFFFFF符号なし32bitの最大値。IPv4アドレスの総数
92233720368547758077FFFFFFFFFFFFFFF符号つき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進数の任意の基数にも対応。ビット列の確認やビット演算にもご利用ください。

こんなツールをこれからも作っていきます。もしこれは!と思っていただけましたら、シェア・応援していただけると嬉しいです!😀

X (旧Twitter)

0

Facebook

LINE

0

はてブ

リンクコピー

✅ コピーしました!

よくある質問

16進数のFFは10進数でいくつですか?

255です。16進数の各桁は右から16の0乗・1乗…と重みが増えるため、F(15)×16 + F(15)×1 = 255 になります。255は8bitで表せる最大値で、RGBの各成分の上限としてもよく登場します。

10進数を2進数に変換する手順を教えてください

2で割り算を繰り返し、余りを下から並べます。13であれば、13÷2=6余り1、6÷2=3余り0、3÷2=1余り1、1÷2=0余り1となり、下から読んで1101です。逆に2進数から10進数に戻すときは、各桁に2の桁数乗を掛けて足します。

2進数と16進数はなぜ相性がいいのですか?

16が2の4乗だからです。2進数のちょうど4桁が16進数の1桁に対応するため、1111はF、1010はAというように4桁ずつ区切って読み替えるだけで変換できます。8進数の場合は3桁ずつです。

0xや0bは何を表していますか?

多くのプログラミング言語で使われる進数のプレフィックスです。0xは16進数、0bは2進数、0oは8進数を表します。このツールでは、選んだ進数と一致していればプレフィックスが付いたままでも貼り付けられます。

負の数を2進数にするとどうなりますか?

2の補数という表現を使います。ビットを反転して1を足した値を負数とみなす方法で、8bitの-1は11111111になります。同じビット列でも符号つきとして読むか符号なしとして読むかで意味が変わるため、このツールでは両方の読み方を並べて表示しています。