進数変換
プログラミングやIT試験の10進⇔2進変換に便利
2進・8進・10進・16進のいずれかに数値を入力すると、残り3進数の変換結果が同時に表示されます。クリックで結果をコピー可能。プログラミングのビット演算、IT資格試験の勉強、レジスタ値の確認などに。
プログラミングでメモリやIPアドレスを扱うとき、16進数↔10進数の変換が頻出します。
進数変換の豆知識・コツ
- IPアドレス(IPv4)は4つの10進数で表現されるが内部は32ビットの2進数
- RGBカラーの各値(0〜255)は16進数2桁で表現
- chmod の「755」は8進数
進数変換の使い方
入力の進数を選択
2進数・8進数・10進数・16進数から入力形式を選びます。
値を入力
変換したい数値を入力します。
結果を確認
全進数の変換結果が一括で表示されます。クリックでコピーできます。
2進数・8進数・16進数とは
進数とは、数字がいくつ集まったら桁が上がるかを表す数の書き方です。日常で使う10進数は0〜9の10種類の数字を使い、10で桁が上がります。2進数は0と1の2種類だけ、8進数は0〜7、16進数は0〜9にA〜Fの6文字を加えた16種類で数を表します。
コンピュータの内部は電気のオン・オフに対応する2進数で動いているため、プログラミングやIT試験では2進数の理解が欠かせません。ただし2進数は桁数が長くなりやすいので、人が読み書きするときは4桁ずつまとめられる16進数や、3桁ずつまとめられる8進数がよく使われます。
例えば10進数の255は、2進数では11111111、8進数では377、16進数ではFFになります。表している量は同じで、書き方が違うだけという点をおさえておくと混乱しません。
10進数を2進数に変換する方法
10進数を2進数に直す基本は、2で割り続けて余りを並べる方法です。商が0になるまで割り算を繰り返し、出てきた余りを最後から逆順に読むと2進数になります。紙と鉛筆だけでできるので、試験の筆算にも向いています。
例えば13なら、13÷2=6余り1、6÷2=3余り0、3÷2=1余り1、1÷2=0余り1となり、余りを下から読んで1101です。検算するときは、1101を8+4+0+1と読み戻して13になることを確かめます。
慣れてきたら、2のべき乗を大きい方から引いていく方法も便利です。13は8+4+1なので、8・4・1の桁に1を立てて1101と読めます。基本情報技術者試験などの筆算問題ではこの考え方が役立ちます。
- 2のべき乗の並び: 1、2、4、8、16、32、64、128、256
- 8ビット(2進数8桁)で表せる範囲は0〜255
- 16ビットで表せる範囲は0〜65535
2進数を16進数に変換する方法
16進数の1桁は、2進数のちょうど4桁に対応します。そのため2進数を16進数に直すときは、右端から4桁ずつ区切って、それぞれを16進数の1文字に置き換えるだけで済み、割り算は必要ありません。
例えば11111111は「1111」「1111」に分かれ、それぞれFなのでFFになります。10110なら左に0を補って「0001」「0110」とし、1と6を並べて16になります。
8進数の場合は3桁ずつ区切ります。同じ11111111を右から「11」「111」「111」と区切ると、3・7・7で377です。この4桁・3桁のまとまりを覚えておくと、進数変換の手計算がぐっと速くなります。
- 2進数1010=16進数A、1011=B、1100=C
- 2進数1101=16進数D、1110=E、1111=F
0x・0b・0oの接頭辞の意味
プログラミングでは、数値がどの進数で書かれているかを示すために接頭辞を付けます。0xは16進数、0bは2進数、0oは8進数を表し、例えば0xFFと書けば10進数の255のことです。多くの言語でこの表記が使えます。
このツールの変換結果にも同じ接頭辞を付けて表示していますが、クリックしてコピーされるのは接頭辞を除いた数値部分だけです。入力欄には接頭辞を付けたまま貼り付けても認識され、16進数のA〜Fは大文字・小文字のどちらでも入力できます。対応しているのは0以上の整数で、小数やマイナスの値は扱えません。
言語によっては先頭の0だけで8進数を表すものがあり、010が8を意味してしまうことがあります。意図しない解釈を避けるため、8進数を書くときは0oのような明示的な接頭辞を使うのが安全です。
進数変換のよくある質問
どの進数に対応していますか?
2進数(バイナリ)、8進数(オクタル)、10進数(デシマル)、16進数(ヘキサデシマル)の4種類に対応しています。
大きな数値も変換できますか?
JavaScriptの整数精度の範囲内(約9007兆まで)で変換可能です。
変換結果をコピーできますか?
はい、各結果をクリックするとクリップボードにコピーされます。