「こんにちは、アミーゴ!」
「ビット演算子についてもう 1 つ簡単なレッスンを。」
「論理演算子 AND (&&)、OR (||)、NOT (!) に加えて、ビット演算子 AND (&)、OR (|)、NOT (~)、および XOR(^) があることはご存知でしょう。 )、 右?"
「そう。ビラーボはかつてこのことについてとても良い教訓を与えてくれました。」
「それでは、これらの演算子についてです。お伝えしたいことが 2 つあります。」
「まず、NOT (~) を除いて、論理演算子と同じようにブール変数に適用できます。」
「第二に、遅延評価は適用されません。」
「この例を見てください:」
コード | 同等のコード |
---|---|
|
|
「左側の方が右側よりコンパクトですか?」
「はい。」
「それと同じ意味ですか?」
「はい。」
「その通りです。しかし、ビットごとの演算子を使用して同じ式を見てみましょう。」
コード | 同等のコード |
---|---|
|
|
「言い換えれば、コードは同じですが、絶対にすべての操作が実行されます。」
「a が null の場合、c2 を計算するときに例外がスローされることに注意してください。」
「ああ、今はそれがよりはっきりとわかるようになりました。」
GO TO FULL VERSION