2010-09-22 17 views

risposta

17

Il segno di omissione (^) si traduce nell'operatore XOR, che è un "bitwise exclusive o". In inglese semplice significa "entrambi, ma non entrambi". Ecco ciò che fa:

decimal 1 = binary 001      decimal 1 = binary 001 
XOR          XOR 
decimal 2 = binary 010      decimal 3 = binary 011 
=           = 
decimal 3 = binary 011      decimal 2 = binary 010 

Maggiori informazioni sulla pagina di MSDN per bitwise operations.

4
3^2 
    = 
    000011 (3) 
    xor 
    000010 (2) 
    = 
    000001 (1) 
    = 
    1 
+0

Penso che il tuo segno più sia fuorviante - questo non è aggiungere, questo è XOR dei numeri. Il tuo setup funziona per il primo esempio di 1^2 ma fallirebbe nel secondo esempio di 1^3 –

+0

@Dave McClelland Grazie per il commento, stavo pensando allo stesso modo. –

+0

Devo inserire un ninja tra il tuo primo post e la tua revisione. Sembra buono ora :) –

Problemi correlati