このような単純な質問をして申し訳ありませんが、これらのことは Google にとって難しいことです。
摂氏と華氏を切り替えるトグルに接続されているiOSのコードがあり、^ 1の意味がわかりません。self.celsius はブール値です
ありがとう
self.celsius = self.celsius ^ 1;
このような単純な質問をして申し訳ありませんが、これらのことは Google にとって難しいことです。
摂氏と華氏を切り替えるトグルに接続されているiOSのコードがあり、^ 1の意味がわかりません。self.celsius はブール値です
ありがとう
self.celsius = self.celsius ^ 1;
「ビットごとの排他的論理和」を意味する C 言語の演算子です。
ウィキペディアは良い説明を提供します:
XOR
ビット単位の XOR は、同じ長さの 2 つのビット パターンを取り、対応するビットの各ペアに対して排他的論理和演算を実行します。各位置の結果は、最初のビットのみが 1 の場合、または 2 番目のビットのみが 1 の場合は 1 ですが、両方が 0 の場合、または両方が 1 の場合は 0 になります。ビットが異なり、同じ場合は 0 です。例えば:
0101 (decimal 5)
XOR 0011 (decimal 3)
= 0110 (decimal 6)
ビット単位の XOR は、レジスタ内の選択されたビットを反転するために使用できます (トグルまたはフリップとも呼ばれます)。任意のビットを 1 と XOR することで切り替えることができます。たとえば、ビット パターン 0010 (10 進数の 2) が与えられた場合、2 番目と 4 番目のビットは、2 番目と 4 番目の位置に 1 を含むビット パターンのビットごとの XOR によって切り替えることができます。
0010 (decimal 2)
XOR 1010 (decimal 10)
= 1000 (decimal 8)
これはビット単位の XOR 演算子です ( http://www.techotopia.com/index.php/Objective-C_Operators_and_Expressions#Bitwise_XORを参照)。
この場合は0 ^ 1
1 と1 ^ 1
0 を切り替えています。
これは排他的 OR 演算です。