ビット演算計算機

計算する AND, OR, XOR, NOT、2 進数、10 進数、または 16 進数の入力による左シフト、および右シフト。このオンライン数学ツールは、各ビットを整列させ、演算を段階的に示し、3 つの数値体系すべてで結果を返します。

番号A
12月46 16進数0x2E
ナンバーB
12月74 16進数0x4A

結果の概要

AND (&)
12月0
16進数0x00
ビン00000000
OR (|)
12月0
16進数0x00
ビン00000000
XOR (^)
12月0
16進数0x00
ビン00000000
NOT (~A)
12月0
16進数0x00
ビン00000000

ビットごとの視覚化

1 アクティブビット 0 ディフビット 0 ゼロを含む 0 先頭のゼロ

インタラクティブ真理値表マトリックス

行をクリックして A と B に値をロードするか、各ゲートの動作を検査します。

入力A入力BANDORXORNOT あ
000001
010111
100110
111100
真理値表の行をクリックして、それらの値をテストします。

ビット単位の演算とは何ですか?

ビット単位の演算では、整数の 2 進数を一度に 1 桁ずつ処理します。 Bitwise Calculator ツールは、数値 A と数値 B を並べ、すべてのビット ペアに 1 つのルールを適用して、出力パターンを構築します。ソフトウェア開発者、コンピューター サイエンスの学生、エンジニアは、システム プログラミング、グラフィックス、ネットワーキング、暗号化、パフォーマンスの最適化においてビットレベルの分析を使用します。

ワンビットロジックラボ

&
B
結果0

AND A と B が両方とも 1 の場合にのみ 1 を返します。

ビットごと AND (&)

ビットごと AND 整列された入力ビットが両方とも 1 の場合にのみ 1 を返します。 ビットワイズ AND 操作により共有アクティブビットが維持されるため、 AND マスキングや権限チェックに役立ちます。例えば、 1100 & 1010 = 1000.

ビットごと OR (|)

ビットごと OR 整列された入力ビットのいずれかが 1 の場合、1 を返します。 ビットワイズ OR 演算子はフラグを結合し、アクティブなビットをクリアせずに選択されたビットを設定します。例えば、 1100 | 1010 = 1110.

ビットごと XOR (エクスクルーシブ OR)

ビットごと XOR 整列された入力ビットが異なる場合は 1 を返します。 ビットごと XOR 計算は変更された位置をマークし、トグル、パリティ チェック、チェックサム、およびエラー検出をサポートします。例えば、 1100 ^ 1010 = 0110.

ビットごと NOT (~)

ビットごと NOT 含まれるすべてのビットを反転します。1 は 0 になり、0 は 1 になります。 選択したビット幅により、反転位置の数が制御されます。たとえば、8ビット ~00001100 = 11110011.

ビット単位の左シフト (<<)

左ビット シフトは、シフト カウントだけ左にすべてのビットを移動し、新しい右側の位置をゼロで埋めます。 左にシフトされた符号なしの値 n 位置に乗算されます 2^n 重要なビットがオーバーフローしない場合。

ビット単位の右シフト (>>)

ビット単位の右シフトは、すべてのビットを右に移動し、右端を通過する下位ビットを破棄します。 論理右シフトは、新しい左側の位置をゼロで埋め、符号なし整数を次の値で除算します。 2^n、切り捨てられます。

ビットとは何ですか? 2進数、10進数、16進数について理解する

ビットはデジタル情報の最小単位であり、0 または 1 の 2 つの値のいずれかを格納します。 8 ビットのグループは、256 の可能なパターンを含むバイトを形成します。数値システムは、基になるビット パターンを変更せずに、異なる基数で同じ整数を書き込みます。

数値体系コンバーター

バイナリ0010 1110
10進数46
16進数0x2E

2進数

2 進数は、0 と 1 を使用する 2 を基数とする数値体系です。 各位置は 2 の累乗を表します。バイナリ値 1010 等しい 1x2^3 + 0x2^2 + 1x2^1 + 0x2^0、または 10 進数の 10。バイナリ入力は、各演算で使用される正確なビットを公開します。

10 進数

10 進数は、日常的な整数値に使用される 10 進数の表記法です。 各位置は 10 の累乗を表します。電卓はビット単位のロジックを適用する前に 10 進数の入力を 2 進数に変換するため、10 進数の 10 と 2 進数は 1010 同じビット単位の結果が生成されます。

16 進数

16 進数は、0 ~ 9 および A ~ F を使用する 16 進数の数値体系です。 1 つの 16 進数は、ニブルと呼ばれる 4 ビットを表します。 16進数 0x0A、10 進数の 10、および 2 進数 1010 同じ値を表します。 8 進数では基数 8 が使用されますが、このツールは 2 進数、10 進数、および 16 進数の入力を受け入れます。

10進数バイナリ(8ビット)16進数ビットパターンの使用
0000000000x00すべてのフラグがクリアされました
1000000010x01最下位ビットのセット
15000011110x0F下部ニブルマスク
255111111110xFF1 バイトセット内のすべてのビット

ビット演算の計算手順

ビット単位の演算を計算するには、値をバイナリに変換し、同じ位の値を配置し、各列に演算子を適用して、結果を必要な数値体系に変換します。

オペレーションステップビジュアライザ

0000 1100 B0001 1001 ルール両方のビットが 1 の場合にのみ 1 を保持します 結果0000 1000

12 & 25 = 8

ビットごとの計算方法 AND

ビット単位で計算するには AND、両方のバイナリ値を揃えて、両方のビットが 1 である場合にのみ 1 を書き込みます。

  • 10 進数または 16 進数の入力を 2 進数に変換します。
  • 短い値の先頭にゼロを埋め込みます。
  • 整列された各ビット ペアを比較します。 AND ルール。
  • 例: 00001100 & 00011001 = 00001000、これは 10 進数の 8 に相当します。

ビットごとの計算方法 OR

ビット単位で計算するには OR、両方のバイナリ値を揃えて、どちらかのビットが 1 である場合に 1 を書き込みます。

  • 両方の入力をバイナリに変換します。
  • 右から左に位置を合わせます。
  • を適用します。 OR すべてのビットペアに規則を適用します。
  • 例: 00001100 | 00011001 = 00011101、これは 10 進数の 29 に相当します。

ビットごとの計算方法 XOR

ビット単位で計算するには XOR、2 つのビットが異なる場合は 1 を書き込み、ビットが一致する場合は 0 を書き込みます。

  • 両方のバイナリ値を揃えます。
  • 等しくない各ビット ペアに 1 のマークを付けます。
  • 等しいビットの各ペアに 0 のマークを付けます。
  • 例: 00001100 ^ 00011001 = 00010101、これは 10 進数の 21 に相当します。

ビットごとの計算方法 NOT

ビット単位で計算するには NOT、幅を選択し、1 つの入力値のすべてのビットを反転します。

  • 選択した幅で数字 A を書き込みます。
  • すべての 1 を 0 に置き換え、すべての 0 を 1 に置き換えます。
  • 出力を符号なしまたは符号付きの 2 の補数として解釈します。
  • 例: 8ビット ~00001100 = 11110011、これは符号なし 10 進数の 243 に相当します。

ビット単位の左シフトを計算する方法

左シフトを計算するには、選択したカウントだけ各ビットを左に移動し、右側をゼロで埋めます。

  • シフト数を選択してください n.
  • 残りのすべてのビットを移動します n ポジション。
  • 固定幅をオーバーフローした上位ビットを破棄します。
  • 例: 00001100 << 2 = 00110000、これは 10 進数の 48 に相当します。

ビット単位の右シフトを計算する方法

論理右シフトを計算するには、各ビットを右に移動し、左側をゼロで埋めます。

  • シフト数を選択してください n.
  • 少しずつ右に移動してください n ポジション。
  • 右端を通過する下位ビットを破棄します。
  • 例: 00001100 >> 2 = 00000011、これは 10 進数の 3 に相当します。

このビットごとの計算機を使用する理由

この Bitwise Calculator は、2 進数の算術演算を視覚的に確認できるようにします。 このツールは、入力変換、演算子ルール、固定幅動作、結果形式、視覚的なビット ダイアグラムを 1 つのページにまとめています。

ビット幅のプレビュー

10 1110
自動: 6 アクティブビット先行ゼロ 0

ステップ付きビット演算子計算機

ステップ付きのビット単位の計算機は、数値 A、数値 B、および結果を位置によって整列させます。各列は、選択した演算子が 0 または 1 を返す理由を示します。

2進数、10進数、16進数をサポート

値を 2 進数、10 進数、または 16 進数で入力します。組み込みの数値体系変換により、個別の数値体系コンバータを開かなくても、同等の出力が表示されます。

視覚的なビット図

視覚的なビット ダイアグラムには、アクティブなビット、変更されたビット、含まれるゼロ、先行ゼロ、およびシフト動作が表示されます。この図は、各結果ビットを入力ルールに接続します。

設定可能なビット幅

自動、8 ビット、16 ビット、32 ビット、または 64 ビットを選択します。固定幅では先頭のゼロが保持され、オーバーフロー、マスキング、符号ビット、およびビット単位が行われます。 NOT 結果を検査しやすくなります。

高速かつ正確なオンライン計算

計算はブラウザ内でローカルに実行され、入力、演算子、形式、または幅が変更されると更新されます。アカウント、アップロード、サーバーリクエストは必要ありません。

ビット演算の実際的な応用

ビット単位の操作では、1 つの整数内に複数のバイナリ状態を保存して処理します。 一般的な 6 つのアプリケーションは、権限、機能フラグ、マスク、組み込みレジスタ、ネットワーク フィールド、およびグラフィック チャネルです。

パーミッションマスクビルダー

r--
バイナリマスク100
10進数4
8進数4
と組み合わせる0 | 4 = 4

許可とアクセス制御

オペレーティング システムは、読み取り、書き込み、および実行のアクセス許可をフラグとしてエンコードします。ビットごと OR 許可をビット単位で結合します AND アクセスとビット単位のチェック NOT 選択した許可ビットをクリアするのに役立ちます。

機能フラグ

アプリケーションは、有効または無効の各機能に 1 ビットを割り当てます。 OR フラグを設定し、 AND フラグをテストし、 XOR フラグを切り替え、反転マスクは他のフラグを変更せずにフラグをクリアします。

ビットマスキング

マスキングにより、より大きな整数内のフィールドが分​​離されます。マスクは、16 進ニブルの抽出、ゼロ フラグの検出、分岐せずにビットをクリア、または未使用の上位ビットを削除できます。

組み込みシステム

ファームウェアは、マスクとシフトを使用してデバイス レジスタを読み書きします。 1 つのレジスタは、センサーの状態、制御フラグ、エラー コード、およびピン設定を個別のビット位置に保持できます。

ネットワーキングとプロトコル

ネットワーク ソフトウェアは、シフトとマスクを使用してパックされたヘッダーをデコードします。サブネットの計算、暗号化ルーチン、チェックサム、パケット フラグ、ポート フィールド、プロトコル値はすべて、正確なビット位置に依存します。

グラフィックスと画像処理

グラフィックス コードは、赤、緑、青、およびアルファ チャネルを整数値にパックします。各チャンネルの位置をシフトし、チャンネルをマスクして抽出し、 OR チャネルを 1 つのピクセル値に結合します。

よくある質問

ビット単位の演算とこのオンライン ツールに関するよくある質問への回答をご覧ください。

ビットごとの計算機の使用方法

ビットごとの計算機を使用するには、入力形式を選択し、数値 A と数値 B を入力し、ビット幅を選択して、 AND, OR, XOR、 または NOT。結果、ビットごとの図、および数値形式の変換は自動的に更新されます。

論理演算子とビット演算子の違いは何ですか?

論理演算子は、条件全体を true または false として評価します。ビット単位の演算子は、整数値の個々のビットを比較または変更します。たとえば、論理的な AND 2 つの条件が true かどうかをビット単位でチェックします。 AND 整列された 2 進数の各ペアを比較します。

ビット演算子を使用する必要があるのはどのような場合ですか?

コードで個々のビットを検査、設定、クリア、切り替え、結合、またはシフトする必要がある場合は、ビットごとの演算子を使用します。一般的な用途には、許可マスク、機能フラグ、パックされたデータ、デバイス レジスタ、ネットワーク ヘッダー、カラー チャネル、チェックサム、暗号化ルーチンなどがあります。

2 進数に対してビット単位の演算を実行できますか?

はい。 [Binary] を選択し、0 と 1 のみを含む値を入力します。計算機は両方のビット文字列を調整し、2 進数、10 進数、および 16 進数の結果を返します。

16 進数に対してビット単位の演算を実行できますか?

はい。 [16 進数] を選択し、0x プレフィックスを付けてまたは付けずに、16 進数の値を入力します。電卓は、選択された演算を適用する前に、各 16 進数字を 4 ビットに変換します。

この電卓はどの記数法をサポートしていますか?

電卓は、2 進数、10 進数、および 16 進数の入力を受け入れます。これら 3 つの数値体系で同等の結果値が表示されます。 8 進数入力は現在サポートされていません。

この電卓には段階的な計算が表示されますか?

はい。視覚的なビット ダイアグラムは入力ビットを整列させ、各位置での結果を表示します。このページでは、計算ルールについて説明し、サポートされているすべての演算子の実際の例も示します。

どのようなビット幅がサポートされていますか?

この電卓は、自動、8 ビット、16 ビット、32 ビット、および 64 ビット幅をサポートしています。自動ではアクティブな値にフィットしますが、固定幅では先頭のゼロとコントロールが保持されます。 NOT そしてオーバーフロー動作。

この電卓を C などのプログラミング言語に使用できますか? C++, Java、 そして Python?

はい。 C、 C++, Java、 そして Python 同じコアを使用する AND, OR, XOR, NOT、左シフト、右シフトのルール。固定幅、符号付き数値、オーバーフロー、および右シフトの動作は言語とデータ型によって異なる場合があるため、電卓の幅をコードで使用される型に一致させてください。

なぜビットごとに NOT 演算子は負の数を返しますか?

ビットごと NOT 結果が符号付き 2 の補数整数として解釈される場合、負の数を返すことがあります。この表現では、最上位ビットは符号ビットであり、~x は -x - 1 と等しくなります。同じビット パターンは、符号なしとして解釈される場合、非負の値になります。

ビット単位の演算の実際の応用例は何ですか?

実際のアプリケーションには、権限、機能フラグ、ビット マスク、組み込みシステム レジスタ、ネットワーキング プロトコル、グラフィックス、暗号化、チェックサム、エラー検出、データ圧縮、およびパックされたファイル形式が含まれます。

ビット単位の演算は算術演算よりも高速ですか?

いつもではありません。最新のプロセッサは、多くのビット単位命令と算術命令を同様の速度で実行し、コンパイラは両方を最適化します。ビット単位の演算は、タスク自体がビット、マスク、フラグ、または 2 のべき乗を処理する場合に最も役立ちます。

このビット単位の計算機は無料で使用できますか?

はい。この Bitwise Calculator は無料で使用でき、アカウントは必要なく、ブラウザーでローカルに計算を実行します。