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:
Il suo complemento a uno sarà:
==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▼
0001 1001 25▼
</pre>
==Sottrazione==
Line 24 ⟶ 27:
Esempio:
<pre>
▲ 0000 0110 6
</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>
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==
|