Barninga Z
a- a+

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. 

 



Ti potrebbe interessare anche

commenta la notizia

C'è 1 commento
Luca
Ti è piaciuto l'articolo?