2009-07-02 15 views

risposta

32

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)

+1

bits & ~ (1 << n) –

+3

Il link post sul blog è stato particolarmente utile, grazie. –

+7

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

Problemi correlati