2進電卓

任意の大きさの整数に対応した2進電卓。加減乗除、AND、OR、XOR、NOT、ビットシフトを行い、結果を2進・16進・10進・8進で表示します。

8/16/32/64 ビットを選ぶと 2 の補数表現を確認できます(NOT や負の数に便利です)。

結果

結果 (2進数)
1 0000
2進数
1 0000
16進数
10
10進数
16
8進数
20
入力値(10進数)
A = 10, B = 6
前提条件と計算方法
  • 任意精度の整数(BigInt)で計算します。除算はゼロ方向に切り捨てます。ビット幅を選ぶと、結果はその幅に切り詰められ 2 の補数で表示されます。

2進電卓とは?

任意の長さの2つの2進数に対して算術演算とビット演算を行い、結果を2進数(4ビットずつ区切り)、16進数、10進数、8進数で表示します。8/16/32/64ビットの幅を指定すると、2の補数での結果も表示されます。

2進電卓の使い方

  1. 2進数で数値 Aを入力します(0bプレフィックス、スペース、アンダースコアも使えます)。
  2. 演算を選びます:+、−、×、÷、mod、AND、OR、XOR、NOT、<<、>>。
  3. 数値 Bを入力し(NOTでは不要)、必要に応じてビット幅を指定します。

例

入力
1010 + 0110
出力
1 0000 (hex 10, decimal 16, octal 20)

2進電卓を使うべき場面

デジタル論理の宿題、ビットマスクやフラグ、低レベルコードの確認に使えます。演算なしで1つの数を基数変換するだけなら、基数変換ツールのほうが簡単です。

2進電卓の仕組み

入力はJavaScriptのBigInt値として解析されるため、32ビットや53ビットの制限はありません。除算は0方向への切り捨てで、modの符号はAと同じです(多くのプログラミング言語と同様)。NOTは ~A = −A − 1 です。ビット幅wを指定すると、結果はBigInt.asUintN(w)で折り返され、符号なしのビットパターンとして表示され、符号付き(2の補数)の10進値も併記されます。シフト量は0〜4096ビットに制限されています。

一般的な使用例

  • 2進数の足し算と桁上がりの確認
  • AND/OR/XORによるマスクの計算
  • 8ビットのNOTを2の補数で確認する
  • 値を左右にシフトする

よくある質問

負の数はどのように表示されますか?

ビット幅を指定しない場合はマイナス記号付き(−101)で表示されます。幅を指定すると、2の補数のビットパターンと符号付きの10進値が表示されます。

NOT 101が負の数になるのはなぜですか?

幅が無制限の場合、NOTは先頭の無限個の0を反転するため、−6になります。8ビットを選ぶと 1111 1010(符号なし250、符号付き−6)が表示されます。

サイズの上限はありますか?

実用上はありません。BigIntは数百桁を扱えます。結果を妥当な範囲に保つため、シフト量だけ4096に制限されています。

他のカテゴリを見る