2013-02-23 1 views
6

Entschuldigen Sie, so eine einfache Frage zu stellen, aber diese Dinge sind schwer zu Google.Was bedeutet^in objektiven Koordinaten?

Ich habe Code in iOS, die zum Umschalten verbunden ist, die zwischen Celsius und Fahrenheit schaltet und ich weiß nicht, was^1 bedeutet. self.celsius ist Boolean

Dank

self.celsius = self.celsius^1; 
+0

Es wird zu einem Operator bitweise XOR bezeichnet. Werfen Sie einen Blick auf diese: http://stackoverflow.com/questions/1912023/caret-in-objective-c – lakesh

+0

Hinweis: Wenn Sie auf ein solches Problem stecken nicht Google für Objective-C, nur Google für "C" (plus natürlich andere geeignete Begriffe wie "Operatoren"). –

+1

Warum würden Sie das anstelle von 'self.celsius = tun! self.celsius "Es ist nur verwirrend, oder? – Robert

Antwort

8

Es ist eine C-Sprache Operator "bitweise Exklusiv-ODER" bedeutet.

Wikipedia gibt eine gute Erklärung:

XOR

Eine bitweise XOR beiden Bitmuster gleich lang dauert, und führt die logische Exklusiv-ODER-Operation an jedem Paar von entsprechenden Bits. Das Ergebnis in jeder Position ist 1, wenn nur das erste Bit 1 ist oder nur das zweite Bit ist 1, aber wird 0, wenn beide 0 oder beide 1 sind. In diesem wir führen Sie den Vergleich von zwei Bits, 1 sein wenn die beiden Bits unterschiedlich sind, und 0, wenn sie gleich sind. Zum Beispiel:

0101 (decimal 5) 
XOR 0011 (decimal 3) 
    = 0110 (decimal 6) 

das bitweise XOR kann in einem Register (auch als Kipp- oder Flip) zu invertieren ausgewählten Bits verwendet werden. Ein beliebiges Bit kann durch XOR-Verknüpfung mit 1 umgeschaltet werden. Zum Beispiel kann das zweite und das vierte Bit bei gegebenem Bitmuster 0010 (dezimal 2) durch eine bitweise XOR mit einem Bitmuster mit 1 in der zweiten und vierten Position umgeschaltet werden:

0010 (decimal 2) 
XOR 1010 (decimal 10) 
    = 1000 (decimal 8) 
+0

danke für die Erklärung –

1

Es ist eine exklusive ODER-Verknüpfung.