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

どれか1つの欄に数を入れると、ほかの進数にすぐ直します。ビットの並び・2の補数・小数・途中の計算も見られます。

できること

  • 2進数・8進数・10進数・16進数の4つの欄が連動。どれに入れても、ほかの欄がすぐ変わります
  • 2〜36の好きな進数の欄つき(3進数・36進数など)。とても大きな整数も誤差なく変換します
  • ビットの並びを4桁ずつ表示。押すと 0/1 が切り替わり、8・16・32・64ビットのはみ出しも分かります
  • 負の数は2の補数で表示。2進・16進の値を「符号なし」「符号あり」のどちらで読むかも選べます
  • 0.1 → 0.000110011… のような小数の変換に対応。循環小数はくり返す部分を示します
  • 割り算・掛け算・位取りの「途中の計算」を表示。手で解く問題の答え合わせに使えます

こんなときに

基本情報技術者試験の練習

2進数の小数や2の補数の問題を、途中の計算と見比べながら確かめる。

情報の授業・宿題

10進数を2進数に直す割り算の手順を、1段ずつ見て理解する。

プログラミング

16進のカラーコードやビットフラグ、マスクの値をビットで確かめる。

大きな数の確認

2⁶⁴+1 のような64ビットを超える整数も、桁を落とさずに変換する。

プライバシー

入力した数はブラウザの中だけで計算し、どこにも送信しません。最後に入れた数と設定は、次に開いたときのためにこの端末(ブラウザの保存領域)にだけ残します。

よくある質問

10進数を2進数に直すには?

2で割って余りを書くことを、商が0になるまでくり返し、余りを下から上へ読みます。255 なら余りが8回とも 1 なので 11111111 です。「途中の計算」を開くと、入れた数での手順が見られます。

2の補数とは何ですか?

コンピューターで負の数を表す決まりです。正の数のビットをすべて反転して 1 を足すと、その負の数になります。8ビットなら 1 は 00000001、−1 は 11111110 + 1 = 11111111 です。いちばん左のビットが 1 なら負の数として読みます。

0.1 を2進数にすると、なぜ割り切れないのですか?

2進数で割り切れる小数は、分母が2の累乗(1/2, 1/4, 1/8 …)の数の組み合わせだけだからです。0.1 = 1/10 は分母に5があるので、0.0001100110011… と 0011 が永遠にくり返す循環小数になります。0.625 = 5/8 なら 0.101 で割り切れます。

どんな書き方で入力できますか?

0b1010・0o17・0xFF のような前置き、1111_0000 や 1111 0000 のような区切り、全角の数字、16進の大文字・小文字が使えます。10進数の欄には 0x… を貼り付けてもかまいません。その進数で使えない文字があると、その文字に印を付けて知らせます。

「符号なし」と「符号あり」は何が違いますか?

同じビットの並びの読み方の違いです。8ビットの 11111111 は、符号なしなら 255、符号あり(2の補数)なら −1 です。「符号あり」を選ぶと、2・8・16進の欄に入れた値をこの読み方で10進数に直します。

入力した数はどこかに送られますか?

送られません。計算はすべてお使いのブラウザの中で行います。

関連ツール

0b・0o・0x の前置き、空白や _ の区切り、全角の数字も読めます。小数(0.1 など)と負の数(−5 など)も入れられます。

計算はすべてこのブラウザの中で行い、入力した数はどこにも送信しません。

ビットの並び

ビット幅
2・8・16進の読み方

「符号あり」にすると、2・8・16進の欄を決まったビット数の2の補数として読み書きします(8ビットの FF は −1)。

ビットを押すと 0 と 1 が入れ替わり、上の欄の数も変わります。数字の下は何ビット目か(右端が0)です。

ビットを押して数を作ることもできます。

途中の計算

数を入れると、ここに計算の手順を表示します。