2進数変換

2進数の1010は10進数で10、10進数の255は2進数で11111111です。

テキストと2進数

問題は解決しましたか?
Googleで優先表示

使い方

  1. 2進数、8進数、10進数、16進数の4つの欄のどれかに数を入力すると、残りの3つがすぐに更新されます。マイナス記号、スペース、アンダースコア、0b・0o・0xの接頭辞も使えます。
  2. 「4桁ずつ区切る」にチェックを入れると、長い2進数が読みやすくなります。
  3. テキストを変換するときは「テキスト」欄に入力すると、8ビットずつ区切った2進数が表示されます。逆に2進数欄に貼り付けるとテキストが表示されます。区切りのスペースはあってもなくても構いません。

計算方法

各欄はその基数で1桁ずつ読み取り、BigIntとして保持します。そのため非常に大きな値も丸めずに正確に変換でき、ほかの欄はその1つの値から書き出します。

負の数はマイナス記号をそのまま残し(-1010は-10)、2の補数では表示しません。決まったビット幅の2の補数が必要なら、正の値を出してから自分で反転してください。

テキストはまずUTF-8でエンコードし、各バイトを8ビットで書きます。半角英字は1バイト、アクセント付き文字や多くの記号は2から3バイト、日本語のかなや漢字は3バイト、絵文字は4バイトです。2進数からテキストに戻せるのは、長さが8の倍数で、バイト列が正しいUTF-8になっている場合だけです。

よく使う値

10進数2進数8進数16進数
10101012A
42101010522A
100110010014464
25511111111377FF
256100000000400100
1024100000000002000400

よくある質問

2進数を10進数に手計算で直すには?

右から順に1、2、4、8、16と位の値を書き、桁が1のところの値を足します。1101なら8 + 4 + 1 = 13です。

1文字が2進数8桁になるのはなぜ?

コンピューターは文字をバイトで保存し、1バイトは8ビットだからです。Aはバイト値65で、01000001になります。日本語のように基本の英字以外の文字はUTF-8で複数バイトを使います。

2進数を貼り付けるとエラーになります

テキストへの変換には、0と1だけであること(スペースとアンダースコアは無視)、全体の長さが8の倍数であること、バイト列が正しいUTF-8であることが必要です。余計な数字やビットの不足があると、どれかが崩れます。

桁数に上限はありますか?

数値の変換はBigIntを使うので決まった上限はありません。ただし極端に長い入力は動作が重くなります。入力した内容はサーバーに送られません。