電卓

短い答え

2 進数は 2 進数です。すべての桁 (ビット) は 0 または 1 で、各位置は 2 の累乗を表します。 2 進数の 1010 は、10 進数の 1×8 + 0×4 + 1×2 + 0×1 = 10 に相当します。この計算機は、2 進算術、ビット単位の論理 (AND、OR、XOR、NOT)、ビット シフト、および 10 進数、16 進数、および 8 進数への即時変換を処理します。

重要なポイント

  • 値は 32 ビット符号付き整数の範囲 (-2,147,483,648 ~ 2,147,483,647) に制限されます。その範囲外のバイナリ文字列は、暗黙的に切り捨てられるのではなく、拒否されます。
  • ビット単位の AND/OR/XOR は数値をビットごとに比較し、算術加算や乗算とは異なります。1010 AND 0110 は 16 ではなく 0010 と同等です。
  • n による左シフトは 2ⁿ を乗算することと同じです。 n による右シフトは、2ⁿ による整数 (フロア) 除算と同等です。
  • 各 16 進数は正確に 4 つのバイナリ ビットにマップされるため、16 個の 4 ビット パターンを知っていれば、16 進数から 2 進数への変換は機械的に行われます。

2 進数の位の値の仕組み

小数点以下の桁の値が 10 の累乗を使用するのと同様に、2 進数の桁の値は 2 の累乗を使用します。 8 ビット数値 10110101 を右から左に読み取ると、次のようになります。

128 64 32 16 8 4 2 1
10110101

1 がある位置の値を合計すると、128 + 32 + 16 + 4 + 1 = 181 となります。つまり、2 進数の 10110101 は 10 進数の 181 と等しくなります。

ビット演算と算術演算

手術 何をするのか
AND (&)両方のビットが 1 の場合のみ 11010 & 0110 = 0010
OR (|)どちらかのビットが 1 の場合、11010 | 0110 = 1110
XOR (^)1 ビットが異なる場合1010 ^ 0110 = 1100
左シフト (<<)ビットを左にシフトし、0 で埋めます (×2ⁿ)0011 << 2 = 1100
右シフト (>>)ビットを右にシフトします (÷2ⁿ、切り捨て)1100 >> 2 = 0011

ビット単位の演算では、個々のビットを比較またはシフトします。加算とは異なり、位置間で桁上げが行われません。そのため、1010 AND 0110 が合計に似たものではなく 0010 に到達します。

避けるべきよくある間違い

  • ビット単位の AND/OR を算術加算または乗算のように扱います。キャリーなしでビットごとに演算されます。
  • 32 ビットの符号付き範囲の上限を忘れると、31 を超えるバイナリ文字列はサポートされている範囲をオーバーフローし、エラーが返されます。
  • ビット単位の NOT では、出力される数字を反転するだけであることが期待されます。2 の補数表現では、正の数を NOT すると、単純な数字の反転ではなく、負の数が生成されます。
  • Assuming right shift rounds — it truncates (floors) toward negative infinity for negative numbers, so 7 >> 1 = 3, not 3.5 or 4.
  • 16 進数計算機 — 同じ変換と演算を 16 進数で直接実行できます。
  • 指数計算機 — すべてのビット位置とシフトの背後にある 2 のべき乗をチェックします。
  • 大きな数の計算機 — 任意精度の演算では 32 ビットの範囲を超えます。
  • 関数電卓 — 数値ベースの変換を超えた一般的な数学を処理します。

よくある質問

二進法とは何ですか?

2 進数では、0 と 1 の数字のみが使用されます。各位置は 2 の累乗を表すため、2 進数の 1010 は、10 進数では 1×8 + 0×4 + 1×2 + 0×1 = 10 となります。

なぜコンピューターはバイナリを使用するのでしょうか?

電子回路は自然に 2 つの状態 (オンまたはオフ) を表し、1 と 0 に明確にマッピングされます。バイナリはデジタル ハードウェアのネイティブ言語です。

どうやって二進数を足すのでしょうか?

10 進数と同様に列ごとに加算しますが、合計が 2 以上の場合はキャリーします。2 進数では 1 + 1 = 10 (0 を書き込み、1 をキャリー)。

2の補数とは何ですか?

2 の補数は、コンピュータが符号付き整数を格納する標準的な方法です。左端のビットは符号を示し、負の値はビットを反転して 1 を加算することでエンコードされます。

このバイナリ計算機はどのように使用すればよいですか?

バイナリ値を入力するか変換モードを選択し、演算を選択して「計算」をクリックすると、バイナリ値と 10 進数の結果が並べて表示されます。

16 進数を 2 進数にすばやく変換するにはどうすればよいですか?

各 16 進数の数字は正確に 4 つの 2 進数ビットにマップされるため、整数を一度に変換するのではなく、数字ごとに変換します。 0x2F は 0010 (2 の場合) に 1111 (F の場合) となり、2 進数で 00101111 になります。これは 10 進数で 47 に相当します。

More math calculators