Comprendo che il singolo operatore e commerciale viene normalmente utilizzato per un'operazione AND bit a bit. Tuttavia, qualcuno può aiutare a spiegare i risultati interessanti che si ottengono quando lo si utilizza per il confronto tra due numeri?Comprensione del comportamento di un singolo operatore e commerciale (&) sui numeri interi
Ad esempio;
(6 & 2) = 2
(10 & 5) = 0
(20 & 25) = 16
(123 & 20) = 16
Non sembra esserci alcun collegamento logico tra questi risultati: mi manca qualcosa? La documentazione online sembra solo riferirsi al confronto di booleani o bit singoli.
Sei sicuro (20 & 25) == 4? – Nick
@Nick Ho capito. –
Quello che stai vedendo * è * il risultato di un'operazione "AND bit a bit". (Tranne il bit '(20 & 25) = 4', che presumo sia un errore di battitura.) – LukeH