0

私はc++で次のコードを試してきましたが、なぜこれがゼロを返すのか理解できません。

10 & (!5)
バイナリの10は1010、5は0101、not(5)は1010であることがわかっています。これを使用してみましょう。

1010  //Which represent 10
1010  //Which represent not(5)
------AND
1010

これは実際にはゼロではなく10を返すはずです。私が間違っている ?

4

1 に答える 1

16

これはブール否定であり、ビット単位の否定ではないため!、効果的に言ってい10 & 0ます。

試してみたほうがいい10 & ~5

于 2013-03-13T20:04:08.373 に答える