IL CALCOLO BINARIO

Esistono 2 tipi di trasmissione di informazioni:
Digitale deriva da digit che in inglese significa cifra; a sua volta digit deriva dal latino digitus che significa dito. In definitiva, digitale è ciò che è rappresentato con i numeri, che si contano appunto con le dita. Al posto di digitale viene anche talvolta usato il sinonimo numerico.
Gran parte del mondo che ci circonda e` composto da grandezze analogiche, cioe` grandezze che assumono valori reali.
Per poter trattare queste grandezze con un elaboratore e` necessario digitalizzarle, ovvero trasformare il valore reale in un valore discreto.
Di questo si occupa l'Informatica che è l’insieme delle discipline che si occupano:

    del trattamento automatico delle informazioni
    della trasformazione delle informazioni in dati

dove per trasformazione intendiamo: rappresentazione in digitale da informazioni analogiche e cioè codifica in un linguaggio comprensibile al computer
I sistemi elettronici sono in grado di riconoscere 2 stati fisici: acceso o spento, la tensione di un conduttore elettrico (alta o bassa), lo stato di polarizzazione magnetica di una superficie (positiva o negativa), lo stato di luminosità in una fibra ottica (luce o buio), passaggio o assenza di tensione elettrica, vero o falso, ecc.
Utilizzare 2 soli stati permette una maggiore tolleranza e una minore possibilitá di errore.
Questa informazione e` detta binaria (BIT) e noi la rappresenteremo con i due simboli 0 e 1 assegnandoli ai 2 stati del dispositivo
Il sistema elettronico utilizza il sistema binario per rappresentare l’informazione
IL BIT (binary digit): L’informazione elementare e` gestita dal calcolatore mediante lo stato di un dispositivo fisico che puo` assumere solo 2 posizioni.
Qualunque informazione rappresentata all’interno del calcolatore e` quindi rappresentata da una sequenza di bit del tipo 10010110100101001010... piu’ o meno lunga, a seconda del tipo di informazione.
Questo abbinamento tra informazione e sequenza binaria e` detta codifica.

I sistemi per l’informatica

Binario

Decimale

Esadecimale

Base 2 (binario)

Valore del BIT



Base 10 (decimale)

128

64

32

16

8

4

2

1



Base 16 (esadecimale)

0

0

0

0

0

0

0

0

0

0


0

0

0

0

0

0

0

1

1

1


0

0

0

0

0

0

1

0

2

2

SISTEMA DECIMALE

0

0

0

0

0

0

1

1

3

3

Sistema utilizzato dall’uomo per fare i calcoli: un numero

0

0

0

0

0

1

0

0

4

4

può assumere 10 valori compresi tra 0 e 9

0

0

0

0

0

1

0

1

5

5


0

0

0

0

0

1

1

0

6

6


0

0

0

0

0

1

1

1

7

7

SISTEMA BINARIO

0

0

0

0

1

0

0

0

8

8

Sistema impiegato dai computer e vari tipi di apparecchiature

0

0

0

0

1

0

0

1

9

9

per fare i calcoli: il bit può assumere 2 valori: 0 e 1

0

0

0

0

1

0

1

0

10

A


0

0

0

0

1

0

1

1

11

B


0

0

0

0

1

1

0

0

12

C

SISTEMA ESADECIMALE

0

0

0

0

1

1

0

1

13

D

(spesso abbreviato come esa, hex o hexa)

0

0

0

0

1

1

1

0

14

E

sistema numerico posizionale in base 16, cioè che utilizza 16

0

0

0

0

1

1

1

1

15

F

simboli invece dei 10 del sistema numerico

0

0

0

1

0

0

0

0

16

10

decimale tradizionale.

1

1

1

1

1

1

1

1

255

FF

Per l'esadecimale si usano in genere simboli da 0 a 9 e poi

 

NIBBLE

 

Le lettere da A a F, per un totale di 16 simboli.

BYTE


Prendiamo ora in considerazione il
SISTEMA BINARIO:

Potenze

2 ↑7

2 ↑6

2 ↑5

2 ↑4

2 ↑3

2 ↑2

2 ↑1

2 ↑0

Valore

128

64

32

16

8

4

2

1

Codifica

Da decimale a Binario

 

Da Binario a decimale

 

Regole:

 

Regole:

 

Dividere il numero decimale per due

 

si usano le potenze di 2 partendo

 

Assegnare il resto come valore del bit

 

da destra.

 

dividere il quoziente e assegnare il resto fino a quoziente zero

 

 

 

Scrivere i risultati partendo dall'ultimo

 

 

 

Da decimale a Binario – esempio: 35

 

Da Binario a decimale - esempio:

 

35 : 2 = 17 resto 1

 

1*2 ↑0 = 1

 

17 : 2 =8 resto 1

 

1*2 ↑1 = 2

 

8 : 2= 4 resto 0

_100011_

0*2 ↑2 = 0

35

4 : 2 = 2 resto 0

 

0*2 ↑3 = 0

 

2 : 2 = 1 resto 0

 

0* 2↑4 = 0

 

1 : 2 = 0 resto 1

 

1*2 ↑5 = 32

 

Le operazioni che si eseguono sui numeri sono ovviamente le quattro operazioni fondamentali:

ADDIZIONE

Regole :

esempio :

0 + 0 = 0

1010 +

0 + 1 = 1

1011_

1 + 0 = 1

_________________

1 + 1 = 0 con riporto di 1

10101__

SOTTRAZIONE

Regole

esempio :

0 – 0 = 0

11011 –

1 – 0 = 1

1101

1 – 1 = 0

_________________

0 - 1 = 1 con prestito di 1

01110 _

MOLTIPLICAZIONE

Regole

esempio :

(decimale)

0 * 0 = 0

111010 *

58 *

1 * 0 = 0

1011_

11

1 * 1 = 1

_________________



111010_



111010-_

=


111010-__



_________________



1001111110_

635

DIVISIONE

Regole

esempio :

(decimale)

0 / 0 = 0

111000 : 1000 = 111

56 : 8 = 7

1 / 0 = __

1100


1 / 1 = 1

_ 1000


0 / 1 = 0

_________________



__000


ESADECIMALE

Prendiamo ora in considerazione il sistema esadecimale (la parola "esadecimale" è peculiare, perché il prefisso esa è derivato dal Greco έξι (exi) (che significa sei), e decimale deriva dalla parola latina per dieci.):
il sistema esadecimale è molto usato in informatica per la sua relazione diretta tra una cifra esadecimale e quattro cifre binarie. È spesso usato come intermediario, oppure come sistema numerico a sé stante. Per esempio, è possibile esprimere un byte con esattamente due cifre esadecimali (invece che con 3 decimali, e lasciando gran parte dell'intervallo non utilizzato). È interessante, infatti, notare come ogni cifra esadecimale corrisponda a un Nibble, cioè a un numero binario di quattro cifre (Da Wikipedia, l'enciclopedia libera).

Potenze

16 ↑7

16 ↑6

16 ↑5

16 ↑4

16 ↑3

16 ↑2

16↑1

16 ↑0

Valore

268.435.456

16.777.216

1.048.576

65.536

4.096

256

16

1

Codifica

Da decimale a esadecimale

 

Da esadecimale a decimale

 
Regole:
 
Regole:
 
Per la conversione di un numero decimale nella sua equivalente rappresentazione esadecimale occorre dividerlo ripetutamente per 16 ed annotare i resti.
 
Utilizzando la tabella di conversione convertiamo gli esadecimali in decimali
 
Il procedimento si arresta quando il quoziente diventa zero.
 
si usano le potenze di 16 partendo da destra.
 
Si riscrivono i resti ottenuti dall’ultimo ottenuto al primo, e si aggiunge davanti il primo risultato utile (minore di 16).
 
moltiplichiamo il valore con la potenza
 
Utilizzando la tabella di conversione convertiamo i decimali trovati
 
somma dei risultati.
 
Da decimale a esadecimale - esempio: 4019 (dec)
 
Da esadecimale a decimale - esempio:
 

4019 : 16 = 251

(4019 – 251 * 16)

= 3 (resto)

 

3(hex) = 3(dec)

B(hex) = 11(dec)

F(hex) = 15(dec)

 

251 : 16 = 15

(15 è già convertibile in esadecimale non serve dividerlo )

(251 – 15 * 16)

= 11 (resto)

 

3 * 16 ↑0

11 * 16 ↑1

15 * 16 ↑2

 

15 → F

11 → B

3 → 3

F B 3

(hex)

3 +

176 +

3840 =

4019

(dec)

15(dec) --> F(hex)

11(dec) --> B(hex)

3(dec) --> 3(hex)

     

 

 
 
 

da esadecimale a binario

 

da binario a esadecimale

 
Regole:
 
Regole:
 
Ad ogni cifra esadecimale che compone il numero si fa corrispondere un gruppo di 4 bit secondo la tabella di conversione
 
Si raggruppano le cifre del numero binario per quattro a partire da destra
 
 
 
si trasformano le cifre di ciascun gruppo nel corrispondente numero esadecimale
 

da esadecimale a binario - esempio: F B 3 (hex)

 

da binario a esadecimale

 

F B 3 (hex) = 1111 1011 0011 (bin)

 

1111 1011 0011 (bin)

 

 

 

F B 3 (hex)

 

 

Convertire i numeri esadecimali in binario. 
Basta sostituire ad ogni cifra decimale il corrispondente gruppo di 4 cifre binarie dedotto dalla seguente tabella

Esadecimale Binario
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
(10) A 1010
(11) B 1011
(12) C 1100
(13) D 1101
(14) E 1110
(15) F 1111

Quindi l'espressione binaria del numero esadecimale 4E, che rappresenta il codice ASCII del carattere E, sarÓ 01001110.
Caratteri Unicode. Esiste uno standard di codifica pi˙ ampio, denominato Unicode, che impiega 2 bytes per ogni carattere ed Ŕ in grado di codificare i caratteri di tutte le lingue conosciute. Questo standard tuttavia non si Ŕ ancora diffuso.

Decimale

Binario

0 0

1

1

2

10

3

11

4

100

5

101

6

110

7

111

8

1000

9

1001

10

1010

11

1011

12

1100

13

1101

14

1110

15

1111

Esempio: 1 byte Ŕ uguale 8 bit. I valori possono partire da 0000 0000 e 1111 1111 (quindi da 0000 a FFFF). Dobbiamo dividere a questo punto, il valore dato per 16 (da 0 a 15). Il valore intero lo traduciamo con gli esadecimali, anche il resto farÓ lo stesso.
    200 Valore originale: 200/16 = 12 + resto    quindi    16x12 = 192 con resto di  8
    perci˛: 12 Ŕ il valore "1100" (ossia valore "C") e 8 Ŕ "1000" quindi avremo C8    
                 12 Ú uguale a 23 + 22 avremo quindi "1000 + 100" = 1100
                   8 Ú uguale a 23 avremo quindi "1000" = 1000
                 Infine 200 avrÓ questo valore: 1100 1000              
Altro esempio:

1245

Base (10) 103 102 101 100
Decimal 1000 100 10 1
Example 1 2 4 5
Breakout 1000 200 40 5

Ancora:

255 Ŕ uguale 11111111
225/2 = 127 con avanzo 1 (si parte da destra)
127/2 = 63 con avanzo 1
63/2 = 31 con avanzo 1
31/2 = 15 con avanzo 1
15/2 = 7 con avanzo 1
7/2 = 3 con avanzo 1
3/2 = 1 con avanzo 1
E quindi 1
25 Ŕ uguale 11001
25/2 = 12 con avanzo 1 (si parte da destra)
12/2 = 6 con avanzo 0
6/2 = 3 con avanzo 0
3/2 = 1 con avanzo 1
e quindi 1