WMW

ビット演算計算機

Free

2進数、8進数、10進数、16進数に対してAND、OR、XOR、NAND、NOR、XNOR、NOT、ビットシフト演算を実行します。

ビット演算

最近のアクティビティ

全員に公開されています。すべての訪問者による直近20回の使用履歴を新しい順に表示します。

AND → 88

1日前

コメント (0)

このツールは役に立ちましたか?コメントを残したり、コツを共有したり、改善方法を教えてください。

ゲストのコメントは公開前に確認されます。 ログイン すると即座に投稿できます。

まだコメントはありません。最初にご意見をお寄せください!

このツールの機能

2進数、8進数、10進数、16進数で入力した数値に対して、AND、OR、XOR、NAND、NOR、XNOR、NOT、左右シフトなどのビットレベルの論理演算を実行します。固定ビット幅を選択するか自動検出させ、すべての形式で結果を確認でき、視覚的なビットごとの内訳も見られます。

仕組み

入力された各値は、固定幅の生ビットパターンに変換されます:2進数、8進数、16進数の入力はそのままのビットパターンとして読み取られ、10進数の入力は負の場合は2の補数(値 + 2^幅)でエンコードされ、非負の場合は直接使用されます。選択した演算はそのビット幅全体にわたってビットごとに適用されます。例えば、ANDは両方の入力ビットが1の場合のみ出力ビットを1に設定し、XORは入力ビットが異なる場合のみ1に設定し、NOTはすべてのビットを反転します。シフトはビットパターンをN桁左または右に移動し、左シフトと論理右シフトは空いたビットを0で埋め、算術右シフトは符号ビットのコピーで埋めます。結果は2進数、8進数、16進数、そして符号なし10進数(生の値)と符号あり10進数(2の補数の解釈)の両方で読み取れます。

解決できる問題

よくある質問

AND、OR、XORの違いは何ですか?

ANDは両方のビットが1のときのみ1を返します(特定のフラグが設定されているかの確認など、マスキングに便利)。ORは少なくとも1つのビットが1のときに1を返します(フラグの結合に便利)。XORはビットが異なるときに1を返すため、ビットの切り替えや2つの値の間の変化の検出に便利です。

ビット幅の設定は実際に何をしますか?

これは、数値が何ビットで表現されるか(8、16、32、または64)を固定し、2つのことに影響します:負の数がどのようにエンコードされるか(2の補数は選択した幅でラップアラウンドします)と、左シフト時にどこでビットが破棄されるかです。「自動」は、入力した両方の値をオーバーフローエラーなしで保持できる最小の標準幅を選択します。

なぜ2つの異なる10進数結果(符号ありと符号なし)が表示されるのですか?

生のビットパターンはそれ自体では曖昧で、使い方の意図によって小さな正の符号なし数値または2の補数の負の数を表すことができます。例えば、8ビット幅ではパターン11111111は符号なしでは255ですが、符号ありでは-1です。どちらの解釈が自分の状況に合うか読み取れるよう、両方が表示されます。

論理右シフトと算術右シフトの違いは何ですか?

論理右シフト(>>>)は、符号に関係なく、空いた最も左のビットを常に0で埋めます。算術右シフト(>>)は代わりに元の符号ビットのコピーで埋めるため、負の数(2の補数)を右シフトすると負のままとなり、実質的に2のべき乗で割りながら負の無限大に向かって丸めることになります。

16進数値と10進数値をAND演算するなど、数値形式を混在させることはできますか?

はい。値Aと値Bはそれぞれ独立した10進/2進/8進/16進の選択があるため、一方を16進数で、もう一方を10進数で入力(または任意の組み合わせ)でき、ツールは組み合わせる前に両方を同じビット幅に変換します。

関連ツール