数学

2進数加算計算機

設定
リセット
結果を共有
保存
埋め込み
バグを報告

計算機を共有

無料の電卓をあなたのウェブサイトに追加する

有効なURLを入力してください。HTTPS URLのみがサポートされています。


ページ上の電卓の入力フィールドにある現在の値を埋め込み電卓のデフォルト値として使用します。


入力ボーダーフォーカス色、スイッチのチェック時の色、選択項目のホバー色など。


利用規約に同意してください。

プレビュー

計算機を保存

計算機の設定

許可された範囲内の値を入力してください。

許可された範囲内の値を入力してください。

許可された範囲内の値を入力してください。

許可された範囲内の値を入力してください。

計算機を共有

バイナリ加算とは?

バイナリ加算は、デジタル電子工学やコンピュータサイエンスの基本操作の一つです。バイナリ数とは、0と1の数字のみで構成された数値システムです。すべてのデジタル計算の基盤であり、コンピュータ内のデータや操作は最終的にはバイナリ形式で表されます。

10進法が10のべき乗に基づいているのと同様に、2進法は2のべき乗に基づいています。バイナリ数の加算は、10進法の加算に似た原則に従いますが、使用する数字が2つだけなので、規則はより簡単です。2つのバイナリ数字を加算する際の組み合わせは次のとおりです:

  • 0 + 0 = 0
  • 0 + 1 = 1
  • 1 + 0 = 1
  • 1 + 1 = 10 (これは0であり、次の上位ビット位置に1を繰り越します)

このシンプルなルールセットは、コンピュータがハードウェアレベルで加算を行う方法の基礎となっています。

バイナリ数の加算方法

10進の加算では、2つの数字を加えて9を超えるとき、次の桁に1を繰り越します。バイナリ加算では、2つの1を加えると同様のプロセスが発生します ―― 1+1=1021 + 1 = 10_2 であるため、結果は0で、1を繰り越します。

複数のビットを加算する際には、各位置からの繰り越しが次の上位ビット位置に影響を与えます。 例えば、110121101_2101121011_2 を右から左にビットごとに加算すると:

  • 1+1=1021 + 1 = 10_2 → 0を書き、1を繰り越します
  • 1(繰り越し)+1+0=1021 (繰り越し) + 1 + 0 = 10_2 → 0を書き、1を繰り越します
  • 1(繰り越し)+0+1=1021 (繰り越し) + 0 + 1 = 10_2 → 0を書き、1を繰り越します
  • 1(繰り越し)+1+1=1121 (繰り越し) + 1 + 1 = 11_2 → 1を書き、1を繰り越します

したがって、11012+10112=1100021101_2 + 1011_2 = 11000_2 です。

電卓の動作方法

手動の変換やビットごとの加算を行う代わりに、電卓は次の3つの主要ステップを自動的に適用します:

  1. 10進への変換: 各バイナリ入力はまず10進の同値に変換されます。
  2. 加算: 電卓は10進数を加算します。
  3. バイナリへの変換: 10進形式の結果はバイナリに変換されて表示されます。

この方法は、複数の数字 ―― 2つ、3つ、4つ以上 ―― を加算する際にも正確な結果を保証し、手動でのバイナリ加算エラーを回避します。

バイナリ数を加算するために、この両方の方法を使用することができます。

電卓の計算原則は次のように表現できます:

  1. バイナリから10進への変換

バイナリ数 bnbn1b1b0b_n b_{n-1} \dots b_1 b_0 の場合:

D=i=0nbi×2iD = \sum_{i=0}^{n} b_i \times 2^i

ここで bib_i は0または1であり、DD は10進の同値です。

  1. 10進形式での加算

kk 個のバイナリ数 B1,B2,,BkB_1, B_2, \dots, B_k がある場合、それらの10進の同値 D1,D2,,DkD_1, D_2, \dots, D_k を計算し、加算します:

S=D1+D2++DkS = D_1 + D_2 + \dots + D_k
  1. 10進からバイナリへの変換

最終的な10進の合計 SS は、2での反復除算を使用してバイナリに変換されます:

Binary(S)=Remainders from dividing S by 2, read in reverse order\text{Binary}(S) = \text{Remainders from dividing } S \text{ by } 2, \text{ read in reverse order}

例1:2つのバイナリ数の加算

2つのバイナリ数:1011と1101を加算してみましょう。

ステップ1: 10進に変換します。
10112=1×8+0×4+1×2+1×1=8+0+2+1=11101011_2 = 1×8 + 0×4 + 1×2 + 1×1 = 8 + 0 + 2 + 1 = 11_{10}
11012=1×8+1×4+0×2+1×1=8+4+0+1=13101101_2 = 1×8 + 1×4 + 0×2 + 1×1 = 8 + 4 + 0 + 1 = 13_{10}

ステップ2: 10進数を加算します。
11+13=2411 + 13 = 24

ステップ3: 結果をバイナリに戻します。

除算余り
24 ÷ 2120
12 ÷ 260
6 ÷ 230
3 ÷ 211
1 ÷ 201

2410=11000224_{10} = 11000_2.

最終結果:
10112+11012=1100021011_2 + 1101_2 = 11000_2

例2:3つのバイナリ数の加算

今度は、3つの値:101、111、および1000を加算してみましょう。

ステップ1: 10進に変換します。
1012=1×22+0×21+1×20=510101_2 = 1 \times 2^2 + 0 \times 2^1 + 1 \times 2^0 = 5_{10}
1112=1×22+1×21+1×20=710111_2 = 1 \times 2^2 + 1 \times 2^1 + 1 \times 2^0 = 7_{10}
10002=1×23+0×22+0×21+0×20=8101000_2 = 1 \times 2^3 + 0 \times 2^2 + 0 \times 2^1 + 0 \times 2^0 = 8_{10}

ステップ2: 10進で加算します。
5+7+8=205 + 7 + 8 = 20

ステップ3: 20をバイナリに戻します。

除算余り
20 ÷ 2100
10 ÷ 250
5 ÷ 221
2 ÷ 210
1 ÷ 201

2010=10100220_{10} = 10100_2

したがって、1012+1112+10002=101002101_2 + 111_2 + 1000_2 = 10100_2

例3:2つの小数バイナリ数の加算

2つの小数バイナリ数:0.10120.101_20.11120.111_2 を加えてみましょう。

ステップ1: 10進に変換します。 0.1012=1×21+0×22+1×23=0.625100.101_2 = 1 \times 2^{-1} + 0 \times 2^{-2} + 1 \times 2^{-3} = 0.625_{10} 0.1112=1×21+1×22+1×23=0.875100.111_2 = 1 \times 2^{-1} + 1 \times 2^{-2} + 1 \times 2^{-3} = 0.875_{10}

ステップ2: 10進で加算します。 0.625+0.875=1.50.625 + 0.875 = 1.5

ステップ3: 1.5をバイナリに戻します。

除算余り
1 ÷ 201

小数部分:

掛け算結果
0.5 x 21

したがって、0.1012+0.1112=1.120.101_2 + 0.111_2 = 1.1_2

よくある質問

この電卓でバイナリ数1010と111をどう加算する?

まず、それぞれを10進に変換します:10102=10101010_2 = 10_{10}1112=710111_2 = 7_{10}。次に、10+7=1710 + 7 = 17を計算します。再びバイナリに変換します:1710=10001217_{10} = 10001_2。したがって、10102+1112=1000121010_2 + 111_2 = 10001_2 です。

2つ以上のバイナリ数を一度に加算できますか?

はい。電卓は複数の入力フィールドをサポートしており、3つ、4つ、またはそれ以上のバイナリ数を同時に加算できます。同じ変換プロセス ―― バイナリから10進、加算、再びバイナリ ―― は正確な結果を保証します。

この電卓は小数バイナリ数の加算をサポートしていますか?

はい。この電卓は小数バイナリ数の加算をサポートしています。

バグを報告

このフィールドは必須です。