Share via


ビットごとの演算子に C

ビット処理演算子が実行ビットごとの AND ()ビットごとの排他的 OR ()**^ビット処理演算子 (含また|**操作)。

構文

  • および Expression:
    等価式

    式との 等価式

  • exclusive または式 :
    および Expression

    exclusive または式 ^

  • インクルードまたは式 :
    exclusive または式

    インクルードまたは式 | exclusive または式

ビット処理演算子のオペランドが整数型である型が異なります。これらの演算子は通常の算術変換を実行します ; 結果の型は変換後のオペランドの型です。

C のビット処理演算子について説明します。:

[演算子]

Description

&

ビットごとの AND 演算子2 番目のオペランドの対応するビットが 1 番目のオペランドの各ビットを比較します。ビットが両方とも 1 の場合対応する結果ビットが 1. に設定されます。それ以外の場合対応する結果ビットが 0 に設定されます。

^

ビットごとの排他的 OR 演算子2 番目のオペランドの対応するビットが 1 番目のオペランドの各ビットを比較します。1 ビットが 0 で他のビットが 1 の場合対応する結果ビットが 1. に設定されます。それ以外の場合対応する結果ビットが 0 に設定されます。

|

ビットごとの演算子は含また 2 番目のオペランドの対応するビットが 1 番目のオペランドの各ビットを比較します。いずれかが 1 の場合対応する結果ビットが 1. に設定されます。それ以外の場合対応する結果ビットが 0 に設定されます。

これらの宣言は3 種類の例で使用されています :

short i = 0xAB00;
short j = 0xABCD;
short n;

n = i & j;

この最初の例の結果は n に割り当てる i 0xAB (00 16 進数) と同じです。

n = i | j;

n = i ^ j;

3 番目の式のビットごとに排他的で0xCD (16 進数) を生成しますがビットごとの包括的または 0xABCD の値 (16 進数) の 2 番目の例の結果で。

Microsoft 固有の仕様 →

符号付き整数のビットごとの演算の結果はANSI C 規格 15 に従って実装定義されます。Microsoft C コンパイラでは符号付き整数のビットごとの演算で符号なし整数のビットごとの演算と同様に動作します。たとえば-16 & 99 はバイナリとして表現できます。

  11111111 11110000
& 00000000 01100011
  _________________
  00000000 01100000

の結果はビットごとに 96 10 桁です。

終了 Microsoft 固有の仕様→

参照

関連項目

ビットごとの AND 演算子: と

ビットごとの排他的 OR 演算子: ^

ビットごとの包括的 OR 演算子: |