このような簡単な質問は申し訳ありませんが、これらのことはGoogleにとっては難しいことです。客観的な意味での意味は何ですか?
私は、摂氏と華氏の間で切り替わるトグルに接続されているiOSのコードを持っていますが、^ 1が何を意味するのかわかりません。 self.celsiusは、それが "ビットごとの排他的論理和" を意味C言語の演算子だブール
おかげ
self.celsius = self.celsius^1;
このような簡単な質問は申し訳ありませんが、これらのことはGoogleにとっては難しいことです。客観的な意味での意味は何ですか?
私は、摂氏と華氏の間で切り替わるトグルに接続されているiOSのコードを持っていますが、^ 1が何を意味するのかわかりません。 self.celsiusは、それが "ビットごとの排他的論理和" を意味C言語の演算子だブール
おかげ
self.celsius = self.celsius^1;
です。
ビット単位XORは等しい長さの2つのビットパターンを取得し、対応するビットの各ペアに 排他的論理和演算を行う
XOR:
Wikipediaは良い説明を与えます。 の結果は、最初のビットが1の場合は1、 の場合は1になりますが、両方が0の場合は0になり、両方が1の場合は0になります。 2ビットの比較2つのビットが異なる場合は 、同じ場合は0となります。例えば:
0101 (decimal 5) XOR 0011 (decimal 3) = 0110 (decimal 6)
ビット単位XORをレジスタ (また、トグルフリップと呼ばれる)で選択されたビットを反転するために使用することができます。たとえば、ビットパターン0010(10進2)が与えられている場合、第2および第4のビットは、第2および第4の位置に1を含むビットパターン のビットパターンXORによってトグルすることができる。
0010 (decimal 2)
XOR 1010 (decimal 10)
= 1000 (decimal 8)
説明のためにありがとう –
排他的論理和演算です。
ビット単位の排他的論理和演算子です(http://www.techotopia.com/index.php/Objective-C_Operators_and_Expressions#Bitwise_XOR参照)。 0^1
が1であるので、この場合にはやって何を
は、前後にスイッチングしている、と1^1
はそれはビット単位のXOR演算を指し0
です。 はこれを見ている:http://stackoverflow.com/questions/1912023/caret-in-objective-c – lakesh
ヒント:このような問題に立ち往生しているときのObjective-CのためにGoogleにありません、単に「C」のGoogle(もちろん、「演算子」などの他の適切な用語)。 –
なぜあなたは 'self.celsius =! self.celsius'それはちょうど混乱の権利ですか? – Robert