1

C++ で |= を理解しようとしています。サンプル コードがあります。

 int x = 0 ;

 x |= 3;
 std::cout<<x <<std::endl;

 x |= 6;
 std::cout<<x <<std::endl;

出力は次のとおりです。

3
7

これはどのように可能ですか、それはビット追加に関連していますか??

4

4 に答える 4

7

これは、ビットごとの or and 代入です。x = x | と同じです。3.

バイナリビット単位または「どちらかの数値が 1 の場合、結果は 1 になります」と同等です。したがって、x |= 3 は 3 になります。x は 2 進数で 11、6 は 2 進数で 110 なので、11 |= 3 になります。101 = 111 (バイナリ) = 7 (10 進数)。

于 2013-04-06T00:14:07.390 に答える
4
x |= 3 

意味

x = x |3

ビット単位または演算。

于 2013-04-06T00:14:21.970 に答える