答えて
a &= b;
a = a & b;
&と同じであることを検索し、 "ビット単位の演算子" です。
より具体的には、 "ビット単位のAND代入演算子" ([MSDNによる](http://msdn.microsoft.com/en-us/library/windows/apps/a9h8y72a(v = vs94).aspx)とにかく)。 –
'&='は、** bitwise **演算子と** logical ** AND演算子の複合演算子です。論理ANDの場合の唯一の特質は、折りたたまれた '&='が短絡していない(右手オペランドが常に評価される)ことであり、左手オペランドが 'false'と評価される場合、 。 –
それはあなたが整数のビット演算は別に
a &= b
に
a = a & b
を折りたたむことができます速記オペレータは、&=
あなたが
a = a && b
から
a &= b
ただし、論理演算の場合は、展開形式が短絡し、後者の短縮形式は短絡しません。
例:
はb()
が値を返す関数であるとするとも
がa
はあなたが
false
をあるブールであるとするプログラムの状態に影響を与えるものを行います
a = a && b()
短絡が発生する:a
がであるためb
を評価する必要はありません(b()
内で発生する可能性のある余分な計算はスキップされます)。一方
、あなたが
a &= b()
をすれば、短絡が発生しません:b
はa
がfalse
場合でも、いずれにしても評価され(とb()
を評価することは論理的に変更しないだろう結果)b()
内で発生する可能性のある余分な計算が実行されます。
私はそれを正しく覚えていれば、例えば、[Flags] Enumと一緒に使うことができます。 フラグ変数に特定の値があるかどうかをチェックします。
この
x &= y;
&
はビット単位のAND演算子であること
x = x & y;
注意することは等価です。
C#(そしてほとんどの言語で私は思うが)ビット単位のアサイメント演算子。
& = bが等価である= & B
a &= b
はa = a & b
- 1. この演算子は何ですか、 "??"
- 2. ここで仮想演算子()()の目的は何ですか?
- 3. JavaScriptの%演算子は何ですか?
- 4. 演算子のアリティは何ですか?
- 5. C++の演算子は何ですか?
- 6. このmysqlビューではsum演算子とは何ですか?
- 7. は何ですか?:演算子
- 8. ()=>演算子とは何ですか?
- 9. ##演算子とは何ですか?
- 10. ^=演算子、それは何ですか?
- 11. フリップフロップ演算子とは何ですか?
- 12. heck演算子「:」は何ですか?
- 13. これは何ですか== - javascript演算子ですか?
- 14. Pythonでこの演算子 "_"の名前は何ですか?
- 15. Javaの* =演算子の演算子の優先順位は何ですか?
- 16. VBScriptの+演算子と&演算子の違いは何ですか?
- 17. このタイプの演算子の名前は何ですか: '+ ='、 ' - ='
- 18. これらの演算子の意味は何ですか(**、^、%、//)? - Python?
- 19. 関数呼び出しでは、演算子は何ですか?また、演算子は何ですか?
- 20. このRコードスニペットで '$'演算子は何をしますか?
- 21. このes6代入演算子は何ですか?
- 22. これらのJavaScriptビット演算子は何をしますか?
- 23. この演算子は何を意味しますか?
- 24. エルムでは:=演算子は正確に何をしますか?ここで
- 25. ":"演算子は代入演算子 "="と同等ですか?
- 26. ||演算子は=演算子と同じですか?
- 27. は、Invoke演算子&演算子はKotlin
- 28. Spark SQLのLIMIT演算子とは何ですか?ここではなぜこの演算子を使用していますか?
- 29. MATLABの二重区間演算子とそれに続く除算演算子(../)は何ですか?
- 30. テンソルフローでは、tf.addと演算子(+)の違いは何ですか?
に相当し、これは定期的な演算子ですか? http://www.w3schools.com/js/js_operators.asp – Abadon
一般的に、a#= bは任意のバイナリ演算子#に対してa = a#bと等価です。 – DenverCoder8
(受け入れられた答えは不完全であることに注意してください) '&='演算子の詳細については、http://stackoverflow.com/a/8910652/1018783を参照してください。 –