ビット演算計算ツール
結果
このツールとは ビット演算計算ツール
ビット演算計算ツールは、2つの整数の各ビットに対して論理演算を行います。AND・OR・XOR・NOT、左シフト、右シフトに対応し、各オペランドは10進数・16進数・2進数・8進数のいずれでも入力できます。結果は4つの基数すべてで同時に表示されます。すべての演算は32ビット符号付き整数で行われ、C・Java・Goなど多くの言語の演算子と同じ挙動になります。
使い方
- 1つ目のオペランドを入力し、その基数(10進数・16進数・2進数・8進数)を選ぶ。
- 演算を選ぶ:AND・OR・XOR・NOT・左シフト・右シフト。
- 2つ目のオペランドと基数を入力する(NOTはオペランドAのみを使うため自動的に省略される)。
- 結果を10進数・16進数・8進数・32ビット2進数で確認し、必要な表記をコピーする。
こんなときに便利
フラグを表す整数を扱っていて、特定のビットが立っているか確認したいときに便利です。たとえば値が12で、ビット3(値は8)のフラグを調べたいとします。12を入力してANDを選び、8を入力すると、結果の8でフラグが立っていることを確認できます。同じマスク操作でORによるビットの設定、XORによる反転、シフトによるバイトのクリアも行え、入力しながら2進数のパターンが変わる様子を確認できます。
よくある質問
ビット演算とは何ですか?
ビット演算は、2つの数を整数値としてではなくビットごとに比較します。ANDは両方のビットが1のときだけ1を返し、ORはどちらかが1なら1を返し、XORはビットが異なるときに1を返します。シフトはビットを左右に移動させます。これらはフラグ・マスク・権限・低レベルの最適化の基礎となる演算です。
NOT演算はどう動きますか?
NOTは単項演算なので、オペランドAだけを使いオペランドBは無視します。32ビットすべてを反転し、0を1に、1を0にします。2の補数のため、数xのNOTは常に -(x + 1) になります。たとえばNOT 5は-6です。
なぜ結果が負の数になるのですか?
この計算ツールは32ビット符号付き整数を使うため、最上位ビットが立つと10進数では負の値として表示されます。2進数・8進数・16進数の欄には本来の32ビットのパターンが表示されるので、NOT 5は10進数では-6ですが、2進数では11111111111111111111111111111010となります。
入力した内容を保持したままツールを共有できますか?
はい。入力に合わせてURLが自動更新されます。アドレスバーからコピーするか共有ボタンを使えば、リンクを開いた人にあなたのオペランドと演算がそのまま表示されます。