- Programmazione » Programmazione » Guida C - Manuale programmazione con articoli e risorse interessanti
Gli operatori: complemento a uno
Complemento a uno
L'operatore di complemento a uno è rappresentato con la tilde ("~"). Il complemento ad uno di un numero si ottiene invertendo tutti i bit che lo compongono: ad esempio, con riferimento a dati espressi con un solo byte, il complemento a uno di 0 è 255, mentre quello di 2 è 253. Infatti, rappresentando il byte come una stringa di 8 bit, nel primo caso si passa da 00000000 a 11111111, mentre nel secondo da 00000010 si ottiene 11111101. Pertanto
a = 2;
printf("%d
" ,~a);
produce la visualizzazione proprio del numero
253.
L'operatore di complemento a uno (o negazione binaria)
non va confuso né con l'operatore di negazione
logica, di cui si è appena detto, né con quello
di negazione algebrica o meno unario ("-"
, vedere di seguito), dei quali si è detto poco sopra:
del resto, la differenza tra i tre è evidente. Il
primo "capovolge" i singoli bit di un valore, il
secondo rende nullo un valore non nullo e viceversa, mentre
il terzo capovolge il segno di un valore, cioè rende
negativo un valore positivo e viceversa.
- Articolo precedente Gli operatori: il not logico
- Articolo successivo Gli operatori: negazione algebrica