edutecnica

Conversione binario-decimale                  

Il sistema numerico binario è un sistema numerico usato nei calcolatori elettronici; è a base due, vengono infatti usate soltanto due cifre:0 e 1, indicate usualmente col termine di bit (binary digit=cifra binaria) per formare il numero binario in questione. Un qualsiasi numero nel sistema binario può essere rappresentato da una serie di bit equivalente ad una somma di potenze del due ognuna delle quali moltiplicata per una cifra che può essere solo 0 o 1. In questo modo le scritta (1111)2 e (111,01)2 devono interpretate come:


nel caso in cui il numero binario abbia degli zeri supplementari sulla sinistra, questi vanno ignorati:  

Conversione decimale- binario                  

Per questo tipo di conversione si ricorre ad un metodo che implica la divisione ripetuta per due del numero assegnato.
Volendo convertire il numero 12:

infatti:   (1100)2=1×23+1×22+0×21+0×20=8+4+0+0=(12)10   in conseguenza degli esempi riportati è facile ottenere la corrispondenza fra i numeri del sistema binario a 4 bit e i corrispondenti valori del sistema decimale:  

Bin Dec
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
1010 10
1011 11
1100 12
1101 13
1110 14
1111 15

Conversione esadecimale-decimale                  

Il sistema numerico esadecimale è un sistema a base 16, perchè i numeri che si possono rappresentare sono sedici:le cifre che vanno da 0 a 9 non sono più sufficienti, di conseguenza si usano anche le prime 6 lettere dell’alfabeto; i sedici simboli sono:

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F

Per il precedente schema A=10; B=11; C=12; D=13; E=14;F=15.
Ciascun numero del sistema esadecimale può essere espresso come somma delle potenze del 16, ognuna delle quali moltiplicata per il valore di ciascuno dei 16 simboli suddetti.
(1BC)16=1×162+11×161+12×160 =256+176+12 =(444)10  
(FFF)16=15×162+15×161+15×160 =3840+240+15 =(4095)10  
(123)16=1×162+2×161+3×160 =256+32+3 =(291)10  

Conversione decimale-esadecimale                  

Si effettua nello stesso modo della conversione decimale-binario considerando che in questo caso la base è 16.
Ad es. volendo convertire 177 in base 10 nel corrispondente numero esadecimale: 

infatti:   (B1)16=11×161+1×160 =176+1 =(177)10

altro esempio su come si eseguono i passaggi, convertendo (946)10 in esadecimale:

Dec :
Bin :
Oct :
Hex :
   

Operazioni aritmetiche nel sistema binario                  

Addizione Binaria

Nel sistema binario la cifra più alta è 1, quando la somma è maggiore di 1 è richiesto il riporto di una cifra in modo analogo a quello  che succede nell’addizione del sistema decimale.  
0+0=0
0+1=1
1+0=1
1+1=0 con riporto di 1  

Dato che nel sistema binario la cifra più alta è 1, quando la somma è maggiore di 1 essa richiede il riporto di una cifra.

Ad es.(1111)2 +(1110)2  

oppure (111001)2 + (1101)2  

Sottrazione Binaria

Operazione inversa dell’addizione, viene eseguita conformemente alla sottrazione decimale prendendo in prestito una cifra dalla colonna di ordine superiore tutte le volte che la differenza scende sotto lo 0.  

0-0=0
1-1=0
1-0=0
0-1=1 con riporto negativo di 1 (prestito)  

ad.es. (1000110)2 – (1101)2 cioè 70-13=57  

ad.es. (11101)2 – (1110)2 cioè 29-14=15  

Complemento a 2

Il metodo del complemento a 2 riguarda i numeri binari dotati di segno. Prima di applicare questo metodo bisogna specificare quanti bit ha a disposizione il nostro sistema. Ad esempio se il sistema ha 5 bit il bit più pesante (a sinistra) viene usato per indicare il segno del numero.
La convenzione prevede che il bit di segno sia 0 per i numeri positivi e sia 1 per i numeri negativi.

Per trovare il complemento a 2 di un numero binario bisogna calcolarne il complemento a 1 e poi aggiungere 1 al risultato ottenuto.

Ad esempio in un sistema a 5bit:

Per calcolare il complemento a 1 di un numero binario bisogna invertirne i bit.
Per trovare il complemento a 2 del numero originario dobbiamo aggiungere 1 al complemento ad 1 appena trovato.

Ad es. se volessimo trovare
(-8)2=?
(8)2=01000 (aggiunto il bit di flag a sinistra)
(8')2=10111 (complemento a 1)
(8")2=11000=(-8)2 (complemento a 2)


Il metodo del complemento a 2 può essere usato per sottrarre tra loro i numeri binari: ad es. 10-5
(+10)2=01001
(-5)2=?
(5)2=00101
(5')2=11010 (compl.1)
(5'')2=11011 (compl.2)

poi devo semplicemente sommare i due numeri trovati secondo la regola 10+(-5).

le cifre ulteriori al bit di segno devono essere ignorate. Il numero ottenuto è positivo perchè il suo bit di segno è 0; il numero risultante è (101)2=(5)10  .


Come secondo esempio possiamo fare 4-11
(+4)2=00100
(-11)2=?
(11)2=01011
(11')2=10100
(11'')2=10101=(-11)2 poi facciamo 4+(-11)

il bit di segno è 1 quindi si tratta di un numero negativo, per risalire al suo modulo bisogna fare il complemento a 2 al contrario: sottraiamo 1, ottenendo 11000 poi commutiamo i bit ottenendo (00111)2 =(7)10.