Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
(SCRITTURA).
La DECODIFICA è l’operazione con cui l’informazione viene letta da un supporto fisico
(LETTURA).
Le ragioni della scelta di una rappresentazione di questo tipo sono prevalentemente di
carattere tecnologico, cioè dipende da come funzionano i dispositivi che costituiscono il
computer.
L’importanza tecnologica dell’alfabeto binario sta nella semplicità e nell’affidabilità, tutti i
calcolatori elettronici e i dispositivi magnetici di memorizzazione utilizzano questa
corrispondenza.
L’ entità minima d informazione codificabile con la rappresentazione binaria è il bit (binary
digit, o cifra binaria) che può assumere i valori 0 e 1.
Le UNITA’ DI MISURA sono:
- BIT = 0 oppure 1
- BYTE = 8 Bit
- KILOBYTE (Kb) = 1.024 Byte
- MEGABYTE (Mb) = 1.048.576 Byte
- GIGABYTE (Gb) = 1.073.741.824 Byte
- TERABYTE (Tb) = 1.000.000 Megabyte
- PETABYTE (Pb) = 1.000.000.000 Megabyte
Ad esempio, se volessi sapere a quanti Bit equivalgono 6 Byte dovrei partire dal fatto che
1 Byte è uguale a 8 Bit, quindi 6 Byte corrispondono a 48 Bit (6x8).
Con una cifra binaria possono essere rappresentate solo due informazioni, ognuna delle
quali viene fatta corrispondere al simbolo 0 o 1, per poter rappresentare un numero
maggiore di informazioni si usano sequenza di Bit.
Ad esempio, usando 2 Bit si possono codificare 4 informazioni diverse:
00 01 10 11
(4 possibili combinazioni)
Questo processo prende il nome di CODIFICA BINARIA, cioè il far corrispondere ad
un’informazione una configurazione di Bit.
La regola della codifica binario è che i codici hanno tutti la stessa lunghezza, quindi:
- Se K (Bit) = 1 posso codificare 2 oggetti (n=2), al primo assegno il codice 0, al
secondo il codice 1.
- Se K (Bit) = 2 posso codificare 4 oggetti (n=4): 00 01 10 11
- Se K (Bit) = 3 posso codificare 8 oggetti (n=8): 000 001 010 011 100 101 111
Per sapere quanti oggetti posso codificare con un dato numero di bit la regola da applicare
è: n = 2k
dove: K = n° Bit
Base sempre = 2
n = n° Byte
ad esempio, con 8 Bit posso codificare 256 oggetti (Byte), perché:
n = 2^8 = n = 256 oggetti (Byte)
I sistemi elettronici sono quindi in grado di riconoscere due stati fisici, utilizzare due soli
stati permette una maggiore tolleranza ed una minore possibilità di errore.
Questa informazione è detta Binaria (Bit) e viene rappresentata con i due simboli 0 o 1,
assegnati ai due stati del dispositivo, qualunque informazione rappresentata all’interno del
calcolatore è rappresentata da una sequenza di Bit, del tipo: 10 01 01 10 10 01 01 00 10…
più o meno lunga, a seconda del tipo di informazione.
Questo abbinamento tra informazione e sequenza Binaria è detta codifica, per effettuare la
codifica da un NUMERO DECIMALE a BINARIO si deve:
- DIVIDERE il numero decimale per 2
- ASSEGNARE IL RESTO come valore del Bit
- DIVIDERE IL QUOZIENTE e assegnare il resto fino a quoziente 0
- SCRIVERE I RISULTATI partendo dall’ultimo
Ad esempio, dovendo codificare il numero 35:
35:2 = 17 resto 1
17:2 = 8 resto 1
8:2 = 4 resto 0
4:2 = 2 resto 0
2:2 = 1 resto 0
1:2 = 0 resto 1
Il risultato è: 100011
Nel caso il numero da codificare fosse frazionario, ad esempio: 32.587, per la parte intera
(32) si procede con la divisione (come sopra), per la parte frazionaria (587) è necessario
procedere con una sequenza di moltiplicazioni per la base 2, quindi dovendo codificare il
numero 32.587:
Codifico prima la parte intera 32:
32:2 = 16 resto 0
16:2 = 8 resto 0
8:2 = 4 resto 0
4:2 = 2 resto 0
2:2 = 1 resto 0
1:2 = 0 resto 1
La parte intera 32 sarà codificata in: 100000.
Ora codifico la parte frazionaria .587:
0.587 x 2 = 1.174 la cui parte intera è 1
0.174 x 2 = 0.348 la cui parte intera è 0
0.348 x 2 = 0.696 la cui parte intera è 0
0.696 x 2 = 1.392 la cui parte intera è 1
0.392 x 2 = 0.784 la cui parte intera è 0
Per la parte frazionaria i risultati vanno presi dall’alto, quindi la codifica della parte
frazionaria .587 sarà 0.10010
Il numero decimale 32.587 convertito in numero binario è 100000.10010.
Per effettuare la codifica da un numero BINARIO a DECIMALE si deve:
- MOLTIPLICARE il valore di ogni Bit per le potenze di 2 della posizione, partendo da
destra
- SOMMARE i risultati
Ad esempio volendo codificare il numero 100011 (35):
1x2^0 = 1
1x2^1 = 2
0x2^2 = 0
0x2^3 = 0
0x2^4 = 0
1x2^5 = 32
Il risultato è: 1+2+0+0+0+32 = 35
Nel caso il numero da codificare fosse frazionario, ad esempio 101011.1011 si procede
partendo da sinistra e dalla parte intera, in questo modo:
Codifico prima la parte intera 101011.
1x2^5 = 32
0x2^4 = 0
1x2^3 = 8
0x2^2 = 0
1x2^1 = 2
1x2^0 = 1
Il risultato sarà 32+0+8+0+2+1 = 43
Ora codifico la parte frazionaria .1011
1x2^-1 = 0,5
0x2^-2 = 0
1x2^-3 = 0,125
1x2^-4 = 0,0625
Il risultato sarà 0,5+0+0,125+0,0625 = 0,6875
Quindi il numero Binario 101011.1011 convertito in numero decimale è uguale a 43.6875
LE OPERAZIONI ARITMETICHE
Le operazioni aritmetiche semplici, come addizione, sottrazione e moltiplicazione sono
facili da effettuare.
L’ADDIZIONE TRA DUE NUMERI BINARI si fa con le stesse regole del decimale:
Si cominciano a sommare i Bit di peso leggero (i Bit di destra), poi si hanno dei riporti
quando la somma dei Bit dello stesso peso supera il valore dell’unità più grande (nel caso
Binario: 1), questo riporto viene spostato sul Bit di peso più forte successivo, ad esempio:
R 1 1
0 1 1 0 1
+ 0 1 1 1 0
= 1 1 0 0 1
Per l’ADDIZIONE dei numeri Binari occorre ricordare che:
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0 con riporto 1
Se ad esempio vogliamo sommare tra loro i numeri binari:
10011 (19) + 10001 (17)
Dobbiamo iniziare incolonnando i due numeri:
1° ADDENDO 1 0 0 1 1 +
2° ADDENDO 1 0 0 0 1 =
SOMMA
Ora sommiamo la cifra di 1°ordine del 1°addendo e quella del 2° addendo, dovremmo
eseguire: 1+1 = 2
Ma sappiamo che 2 unità di un dato ordine formano un’unità del dato superiore, scriviamo
allora: come somma 0 e come riporto nella colonna di ordine superiore 1, avremo quindi:
RIPORTO 1
1°ADDENDO 1 0 0 1 1 +
2°ADDENDO 1 0 0 0 1 =
SOMMA 0
Ora sommiamo la cifra di 2°ordine del 1°addendo e quella del 2° addendo, dovremmo
eseguire: 1+0 = 1
Ma dobbiamo aggiungere il riporto, avremo quindi 2, che formano un unità di ordine
superiore, avremo quindi:
RIPORTO 1 1
1°ADDENDO 1 0 0 1 1 +
2°ADDENDO 1 0 0 0 1 =
SOMMA 0 0
Ora sommiamo la cifra di 3°ordine del 1°addendo a quella secondo, avremo: 0+0 = 0
aggiungiamo il riporto e avremo 1, ovvero:
RIPORTO 1 1
1°ADDENDO 1 0 0 1 1 +
2°ADDENDO 1 0 0 0 1 =
SOMMA 1 0 0
Sommando le cifre del 4°ordine dei due addendi avremo 0+0 = 0, ovvero:
RIPORTO 1 1
1°ADDENDO 1 0 0 1 1 +
2°ADDENDO 1 0 0 0 1 =
SOMMA 0 1 0 0
Sommiamo insieme le cifre del 5°ordine, avremo 1+1 = 2, che formano un’unità di ordine
superiore, quindi scriviamo:
RIPORTO 1 1 1
1°ADDENDO 1 0 0 1 1 +
2°ADDENDO 1 0 0 0 1 =
SOMMA 1 0 0 1 0 0
Allora: 10011 + 10001 = 100100
Verificandolo con il sistema decimale avremo:
NUMERO BINARIO NUMERO DECIMALE
10011 + 19 +
10001 = 17 =
100100 36
Infatti:
1x2^5 + 0x2^4 + 0x2^3 + 1x2^2 + 0x2^1 + 0x2^2 =
= 1x32 + 0x16 + 0x8 + 1x4 + 0x2 + 0x1 =
= 32 + 0 + 0 + 4 + 0 + 0 = 36
Anche la SOTTRAZIONE TRA DUE NUMERI BINARI si esegue come una normale
sottrazione, tenendo conto però che, se si deve sottrarre dalla cifra 0 la cifra 1 occorre
chiedere in prestito un’unità alla cifra di ordine superiore e che quest’ultima vale 2 unità
dell’ordine immediatamente inferiore.
Ad esempio, se vogliamo sottrarre 11101 (29) e 1110 (14), dobbiamo iniziare incolonando
i due numeri:
MINUENDO 1 1 1 0 1 -
SOTTRAEND 1 1 1 0 =
O
DIFFERENZA
Ora dobbiamo sottrarre le due cifre del 1°ordine: 1-0 = 1, avremo quindi:
MINUENDO 1 1 1 0 1 -
SOTTRAEND 1 1 1 0 =
O
DIFFERENZA 1
Ora dobbiamo sottrarre le cifre del 2°ordine: 0-1, non potendo eseguire l’operazione
dobbiamo prendere in prestito 1 unità dalla cifra di 3°ordine, che vale 2 unità di ordine
inferiore, avremo quindi:
PRESTITO 2
MINUENDO 1 1 1 0 1 -
SOTTRAEND 1 1 1 0 =
O
DIFFERENZA 1 1
Quindi la nostra differenza diventa 2-1= 1
Ora dobbiamo sottrarre le cifre del 3°ordine, ricordando che c’è stato il prestito di un’unità,
il calcolo da eseguire diventa: 0-1, che non possiamo fare, quindi chiediamo in prestito
un’unità, che vale 2, alla cifra di 4°ordine, avremo quindi:
PRESTITO 2 2
MINUENDO 1 1 1 0 1 -
SOTTRAEND 1 1 1 0 =
O
DIFFERENZA 1 1 1
Quindi la nostra differenza diventa 2-1 = 1
Passiamo ora a sottrarre le cifre del 4°ordine 0-1, operazione impossibile, chiediamo
quindi una cifra che vale 2, avremo quindi:
PRESTITO 2 2 2
MINUENDO 1 1 1 0 1 -
SOTTRAEND 1 1 1 0 =
O
DIFFERENZA 1 1 1 1
Quindi la nostra differenza diventa 2-1 = 1
Di conseguenza la cifra di 5°ordine del minuendo è rimasta a 0, avremo quindi:
PRESTITO 2 2 2
MINUENDO 1 1 1 0 1 -
SOTTRAEND 1 1 1 0 =
O
DIFFERENZA 0 1 1 1 1
La differenza 11101 – 1110 = 1111
Verificandola con il sistema decimale avremo:
NUMERO BINARIO NUMERO DECIMALE
11101 - 29 -
1110 = 14 =
1111 15
Infatti:
1x2^3 + 1x2^2 + 1x2^1 + 1x2^0 =
= 1x8 + 1x4 + 1x2 + 1x1 =
= 8 + 4 + 2 + 1 = 15
Anche la MOLTIPLICAZIONE TRA DUE NUMERI BINARI si esegue come una normale
moltiplicazione, ma occorre ricordare che 2 unità di un dato ordine formano 1 unità
dell’ordine immediatamente superiore, ad esempio se volgiamo moltiplicare il numero
binario 111 (7) con il numero binario 101 (5), avremo:
1°FATTORE 1 1 1 x
2°FATTORE 1 0 1 =
Iniziamo con il moltiplicare la cifra del 1°ordine a quella del 2°ordine (1) per ciascuna cifra
del 1°fattore, in modo da ottenere il 1°prodotto parziale:
1°FATTORE 1 1 1 x
2°FATTORE 1 0 1 =
1°PRODOTTO 1 1 1
PARZIALE
Ora moltiplichiamo la cifra di 2°ordine del 2°fattore (0) per ciascuna cifra del 1°fattore, per
ottenere il 2°prodotto parziale:
1°FATTORE 1 1 1 x
2°FATTORE 1 0 1 =
1°PRODOTTO 1 1 1
PARZIALE
2°PRODOTTO 0 0 0
PARZIALE
Ora moltiplichiamo la cifra di 3°ordine d