2進数から10進数へ変換

1 のビットごとに2の累乗を足し合わせることで、どんな2進数でも10進数に変換できます。この変換ツールは、わずか1ニブルから64ビットのレジスタダンプまで、任意の桁数の数値を受け付けます。位取り展開を表示するので、宿題の答え合わせ、ビットフラグの読み解き、デバッガーの出力の確認に役立ちます。

2進数から10進数への変換の仕組み

  1. 1

    2進数の桁を入力する

    先頭のゼロはあっても構いません。スペースとアンダースコアは取り除かれるため、1010_1100 は 10101100 と同じように扱われます。

  2. 2

    各ビットに重みが付く

    右端から始めて、0桁目の重みは 2^0 = 1、1桁目は2、2桁目は4、というように続きます。

  3. 3

    寄与を合計する

    各ビットにその重みを掛けて足し合わせます。ゼロは何も寄与せず、1はその桁の重みを寄与します。

  4. 4

    10進数の結果を読み取る

    その合計があなたの10進数です。コピーするか、内訳表示に切り替えて寄与したすべての重みを確認できます。

計算例: 1011 0101

ビット位置 7 6 5 4 3 2 1 0
重み 128 64 32 16 8 4 2 1
ビット値 1 0 1 1 0 1 0 1
寄与 128 0 32 16 0 4 0 1

合計: 128 + 32 + 16 + 4 + 1 = 181

桁数別の早見表

  • 4ビット(ニブル): 最大値 15
  • 8ビット(バイト): 最大値 255
  • 16ビット(short): 最大値 65,535
  • 32ビット(符号なし int): 最大値 4,294,967,295
  • 64ビット(符号なし long): 最大値 18,446,744,073,709,551,615

符号ありと符号なし

この変換ツールは、標準では入力を符号なしとして扱います。2の補数による符号付きの数では、固定幅のワードで先頭が 1 の場合、その値は負を意味します。すべてのビットを反転し、1を足して、結果に負号を付けてください。符号付きの結果が必要な場合は、元のデータに合った幅(8、16、32、64ビット)を選んでください。

よくある質問

スペースとアンダースコアは見やすさのための区切りとして扱われ、無視されます。それ以外(文字、記号、紛れ込んだ 2 など)は入力エラーになります。

このツールは任意精度演算を使うため、実用上の上限はありません。512ビットのハッシュ値やそれ以上でも問題なく変換できます。

変換ツールが標準で符号なしとして扱うためです。8ビットの符号付きとして解釈すると、2の補数のもとで 11111111 は -1 になります。

はい。1行に1つの数値を入れてください。各行は独立して変換され、結果も1対1に並ぶので、表計算ソフトへ簡単にコピーできます。

関連ツール