ShibaHubShibaHub
開発者向け

2進数・8進数・16進数変換ツール

2進数・8進数・10進数・16進数のいずれかで入力するだけで、残り3つの表記が一覧でわかります。プログラミングや電気回路の学習にすぐ使えます。

最終更新:2026年9月9日 / 運営:sesebox(運営者情報)

入力する進数
入力値10進数で入力
(10)
変換結果
255
2進数 (bin)11111111
8進数 (oct)377
10進数 (dec)255
16進数 (hex)0xFF

入力値を10進数(整数)に変換後、各進数に変換しています。負の数・小数点・科学的記数法には対応していません。

2進数・8進数・16進数変換ツールの使い方としくみ

① このツールの使い方

  • •1. 入力する進数を選ぶ:2進数・8進数・10進数・16進数のうち、今持っている数値がどれかを選びます。
  • •2. 数値を入力する:選んだ進数のルールに沿った数字(16進数ならA〜Fも使用可)を入力します。

入力すると同時に、残り3つの進数での表記がすべて一覧で表示されます。それぞれの進数ボタンをクリックすると、その進数を「入力する進数」に切り替えつつ、今の値をそのまま引き継ぐこともできます。結果はコピーボタンでそのままコピーできます。

② 進数とは何か(10進数との違い)

私たちが普段使う10進数は、0〜9の10種類の数字で桁を表し、9の次で桁上がりします。同じ考え方で、2進数は0と1の2種類だけで桁を表し、1の次(つまり2)で桁上がりします。8進数は0〜7の8種類、16進数は0〜9とA〜F(10〜15を表す)の16種類の記号で桁を表します。どの進数も「表現の仕方」が違うだけで、同じ数量を指すことができます。

たとえば10進数の255は、2進数では11111111、8進数では377、16進数ではFFと表記されます。いずれも同じ「255」という数量を表しています。

③ なぜ2進数・8進数・16進数が使われるのか

進数使われる理由・場面
2進数コンピュータの回路は電気のON/OFFの2状態しか扱えないため、内部ではすべて2進数で処理されている
16進数2進数4桁がちょうど16進数1桁に対応するため、2進数を短く読みやすく表記できる(カラーコード・メモリアドレスなど)
8進数2進数3桁がちょうど8進数1桁に対応する。歴史的にUnix系OSのファイルパーミッション(chmod)で使われている

16進数が広く使われる理由は、2進数4桁(0000〜1111)がちょうど16進数1桁(0〜F)に1対1で対応するためです。長い2進数の並びをそのまま読むのは大変ですが、16進数に変換すれば桁数が4分の1になり、人間にとって格段に読みやすくなります。

④ このツールの計算方法

入力された値は、まず一度10進数の整数に変換されてから、各進数の表記に変換し直されます。JavaScriptのparseInt(value, base)という関数で入力を解析し、Number.prototype.toString(base)という関数で目的の進数に変換しています。0以上の整数のみに対応しており、負の数(2の補数表現など)や小数点を含む数値は扱えません。

⑤ 実務での使いどころ

プログラミング学習の初期段階では、コンピュータがどのように数を扱っているかを理解するために2進数の仕組みに触れることがよくあります。また実務では、Linuxのファイルパーミッション(chmod 755のような8進数表記)を設定する際、「rwxr-xr-x」のような記号表記と数値表記の対応を確認したいときにこのツールが役立ちます。ネットワークの分野では、IPアドレスやサブネットマスクを2進数で考える場面もあり、進数の変換に慣れておくと理解がスムーズになります。

chmodのパーミッション設定を実際に組み立てたい場合はchmodパーミッション計算ツールもあわせてご利用ください。8進数の各桁が読み取り・書き込み・実行の権限にどう対応しているかを、チェックボックスで直感的に確認できます。

⑥ 桁数と表現できる範囲の関係

進数の桁数が1つ増えるごとに、その進数の底(基数)の分だけ表現できる数の範囲が広がります。たとえば2進数は8桁で0〜255(2の8乗−1)まで、16桁で0〜65,535まで表現できます。16進数なら2桁で0〜255(16の2乗−1)まで表現できるため、同じ「255」という数を表すのに2進数では8桁必要なところを、16進数ならわずか2桁(FF)で済みます。桁数が少なく済むほど人間が読み書きしやすくなるため、コンピュータの内部処理は2進数、人間が確認する場面では16進数、というように使い分けられています。

⑦ 桁あふれ(オーバーフロー)に注意

プログラミングでは、扱える数値の範囲が型ごとに決まっていることがあります。たとえば符号なし8ビット整数は2進数8桁(0〜255)までしか表現できず、それを超える値を無理に入れようとすると桁あふれ(オーバーフロー)と呼ばれる不具合が起こります。IPアドレスの各オクテット(0〜255)や、色のRGB各成分(0〜255)が8ビットで表現されているのも、この範囲にきれいに収まる数だからです。数値がどのくらいの桁数で収まるかを事前に確認しておくことは、こうした不具合を避けるうえでも役立ちます。このツールで自分が扱いたい数値を2進数に変換し、桁数が想定している型の範囲に収まっているかを確認しておくと、思わぬバグを未然に防げます。特にプログラミング初心者のうちは、なぜ255や65,535といった中途半端に見える数値がよく登場するのか疑問に思うことがありますが、それぞれ2進数8桁・16桁で表現できる最大値だと知っておくと理解が進みます。数字の由来がわかると、コードを読むときの理解も一段深くなります。

⑧ カラーコードも16進数の一例

Webデザインでよく目にする「#FF5733」のようなカラーコードも、16進数が使われている身近な例です。赤(R)・緑(G)・青(B)それぞれの明るさを0〜255(16進数で00〜FF)の2桁ずつ、合計6桁で表現しており、値が大きいほどその色の成分が強いことを示します。このツールで16進数と10進数を相互変換できるので、「#FF5733の赤成分は10進数でいくつか」(FF=255)といった確認にも応用できます。

よくある質問
進数変換はどうやって計算していますか?

入力値を10進数の整数に変換してから、各進数に変換しています。JavaScriptのparseInt(value, base)でパース、Number.prototype.toString(base)で変換しています。

16進数に文字が含まれるのはなぜですか?

16進数は0〜9の数字と、10〜15を表すA〜Fの文字を使います(大文字・小文字どちらでも可)。例えば255(10進数)は FF(16進数)になります。

8進数(Octal)はどんな場面で使いますか?

LinuxなどのUnix系OSでファイルのパーミッション(権限)を設定するときに使われます。例えば「chmod 755 file」の755は8進数で、0b111 101 101(rwxr-xr-x)を表しています。

負の数や小数には対応していますか?

このツールは0以上の整数のみを対象としています。負の数(2の補数表現など)や小数点を含む数値には対応していません。

「0x」はどういう意味ですか?

0xは16進数であることを示すプレフィックス(接頭辞)です。プログラミングでは0xFF(10進数の255)のように表記します。このツールでは結果に0xを付けて表示していますが、入力時には不要です。

あわせて使う道具開発者向け
開発者向け の道具をもっと見るJSON整形・Base64・パスワード生成など 36個見る