Codifica binaria di numeri interi relativi

 

Per codificare i numeri interi, positivi e negativi, viene indicato prima il segno, seguito poi dal valore assoluto. Questa rappresentazione chiamata codifica con modulo e segno, utilizza il primo bit per indicare il segno (0 positivo e 1 negativo) e gli altri n-1 bit per la rappresentazione del valore assoluto del numero.

Base

Base

Base

Base

due

dieci

due

dieci

due

dieci

due

dieci

0000
0
0100
4
1000
-0
1100
-4
0001
1
0101
5
1001
-1
1101
-5
0010
2
0110
6
1010
-2
1110
-6
0011
3
0111
7
1011
-3
1111
-7

Con n bit, questa codifica consente di rappresentare i numeri interi da -2n-1-1 a 2n-1 -1. Questa codifica ha però il difetto di duplicare la rappresentazione del numero 0, come se -0 fosse diverso da +0. Si preferisce quindi utilizzare la codifica detta rappresentazione in complemento a due: dati n bit per rappresentare un numero x si utilizza il valore binario corrispondente a 2n+x. Con successioni di 4 bit in cui 2n è quindi 16, per esempio, la rappresentazione del numero 5dieci diventa 16dieci+5dieci =21dieci=10101due.
Siccome sono disponibili solo 4 bit , viene tolto il bit più significativo, conservando solo 0101due, che corrisponde peraltro alla codifica binaria del numero naturale 5dieci. Se invece si vuole rappresentare un numero negativo, per esempio -5dieci, si ottiene 16dieci-5dieci=11dieci=01011due, da cui si ottiene 1011due.

Base

Base

Base

Base

due

dieci

due

dieci

due

dieci

due

dieci

0000
0
0100
4
1000
-8
1100
-4
0001
1
0101
5
1001
-7
1101
-3
0010
2
0110
6
1010
-6
1110
-2
0011
3
0111
7
1011
-5
1111
-1

Si può notare come il primo bit dei numeri positivi sia 0, mentre i numeri negativi hanno il primo bit uguale a 1. Il numero 0 ha ora una rappresentazione unica, anche se ciò impedisce di bilanciare i numeri positivi con quelli negativi (con 4 bit sono stati rappresentati 8 numeri negativi e solo 7 positivi). In generale, con questa codifica, n bit sono sufficienti per rappresentare i numeri che vanno da -2n-1 fino a 2n-1-1. Nel caso della codifica binaria in complemento a 2, avendo un numero positivo espresso in base due, per ottenere il suo negativo dovrò complementare (cambiare di valore) ogni singolo bit e sommargli uno (vedi somma di numeri binari). Per esempio:

La codifica in complemento a 2 è molto utile, in quanto permette di eseguire solo somme. Per esempio si voglia eseguire 2 - 4. E' uguale a scrivere +2 + (-4):






















































Tutto quanto riportato in questa pagina è a puro scopo informativo personale. Se non ti trovi in accordo con quanto riportato nella pagina, vuoi fare delle precisazioni, vuoi fare delle aggiunte o hai delle proposte e dei consigli da dare, puoi farlo mandando un email. Ogni indicazione è fondamentale per la continua crescita del sito.