15
In Java, è possibile cancellare un bit utilizzando le operazioni bit a bit?In Java, è possibile cancellare un po '?
In Java, è possibile cancellare un bit utilizzando le operazioni bit a bit?In Java, è possibile cancellare un po '?
sì, utilizzando
bits & ~(1 << n)
dove bit è un int/lungo e n è il bit n-esimo da cancellare.
(questo è un utile post sul blog: low level bit hacks you absolutely must know)
bits & ~ (1 << n) –
Il link post sul blog è stato particolarmente utile, grazie. –
Occorre prestare attenzione se n è> 31, il "1" deve essere "1L" in tal caso altrimenti l'operazione di spostamento utilizzerà solo i cinque bit più bassi di n. (Vedi JLS, § 15.19.) – Bombe