Complemento a uno: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Annullate le modifiche di 185.109.70.49 (discussione), riportata alla versione precedente di FrescoBot
m WPCleaner v1.43 - Fixed using Wikipedia:Check Wikipedia (Titolo di sezione che non inizia con "=" - Errori comuni)
Riga 7:
 
Facciamo un esempio. Prendiamo il numero 10 rappresentato su 8 bit in base 2:
<pre>0000 1010 (10)</pre>
 
Il suo complemento a uno sarà:
<pre>1111 0101 (-10)</pre>
 
==Addizione==
Per la somma di due numeri in complemento a uno basta sommare i singoli bit, e se c'è un riporto a sinistra del bit di segno basta sommarlo al risultato.
 
Esempio:
<pre>
0001 0110 22
+ 0000 00110001 0110 322
+ 0000 01100011 63
=========== ====
0001 1001 25
0001 01101001 2225
</pre>
 
==Sottrazione==
Line 24 ⟶ 27:
 
Esempio:
<pre>
0000 0110 6
- 0000 00010110 16
- 0000 0001 1001 251
=========== ====
0000 0101 5
</pre>
 
==Complemento ad uno di un insieme==
Line 42 ⟶ 47:
Al contrario di quanto avviene nella rappresentazione in [[complemento a due]] dove esiste una sola rappresentazione dello zero (quella con tutti i bit a zero), esistono in ''complemento a uno'' due differenti rappresentazioni del numero zero, quella con tutti zero e quella con tutti uno:
 
<pre>
0000 0000 (+0)
11110000 11110000 (-+0)
1111 1111 (-0)
</pre>
 
questo può essere utile quanto sia necessario rappresentare lo zero in due forme: lo zero positivo e lo zero negativo; anche se un punto di vista puramente matematico lo zero non ha segno, tuttavia in alcune applicazioni può essere utile conservare tale informazione.
Line 49 ⟶ 56:
== Evitare lo zero negativo ==
È semplice, si calcola il complemento a uno del sottraendo e si sottrae al primo operando. In questo modo l'addizione non ritornerà uno 0 negativo.
<pre>
0001 0110 22 0001 0110 22 1110 1001 −22 1110 1001 −22
+ 1110 1001 −22 − 0001 0110 22 + 0001 0110 22 − 1110 1001 −22
=========== ==== ma =========== ==== allo stesso modo, =========== === ma =========== ===
1111 1111 −0 0000 0000 0 1111 1111 −0 0000 0000 0
</pre>
 
==Voci correlate==