Rappresentazioni
numeriche
A. Ferrari
Aritmetica
Dei numeri binari
Numeri binari
Somma
Per sommare due numeri binari, si devono
addizionarne a due a due le cifre corrispondenti.
Se si ottiene 102 occorre riportare uno nella colonna
successiva.
Somma: esempio
Sottrazione
Per sottrarre due numeri si devono sottrarre a due a
due le cifre corrispondenti, ricordando che nel caso si
abbia 02 – 12 occorre “prendere in prestito” dalla cifra
precedente.
Sottrazione: esempio
Moltiplicazione
Per moltiplicare due numeri binari occorre
considerare la tabella moltiplicativa.
L’algoritmo per moltiplicare due numeri binari è poi
identico a quello della moltiplicazione decimale:
si moltiplica il primo numero per le singole cifre del
secondo
i prodotti parziali così ottenuti devono essere quindi
sommati tra loro dopo averli spostati di una cifra a
sinistra.
Moltiplicazione:
esempio
Esempi
Esadecimale
Ottale
Ottale - esadecimale
Oltre alla numerazione binaria vengono talvolta
utilizzate anche le numerazioni in base 8 (ottale) e 16
(esadecimale).
Per la numerazione esadecimale sono necessarie 16
cifre:
alle usuali 10 cifre arabe si aggiungono anche le prime
6 lettere maiuscole dell’alfabeto
A = 10 ; B = 11 ; C = 12 ; D = 13 ; E = 14 ; F = 15
Base 2 - 8- 16
Binario
Ottale
000
001
010
011
100
101
110
111
0
1
2
3
4
5
6
7
Binario
Esadecimale
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
Conversione
binario-ottale
Dato un numero in base binaria, per convertirlo in
base ottale basta raccogliere le cifre a gruppi di tre e
sostituire questi ultimi con il loro corrispondente
ottale
Conversione
binario-esadecimale
Per passare dalla base 2 alla base 16, si esegue il
raccoglimento a gruppi di quattro cifre
Byte - semibyte
l contenuto di un byte può̀ essere facilmente
espresso con due cifre esadecimali suddividendolo in
due semibyte di quattro bit
Rappresentazione dei
numeri interi
Per rappresentare un numero intero nella memoria
degli elaboratori viene riservato uno spazio
determinato che può̀ essere trattato con un’unica
operazione.
Tale spazio, indicato con il termine parola (traduzione
letterale dell’inglese word), ha una grandez- za
costante e prefissata.
Per semplicità̀ faremo esempi con parole di due byte
di lunghezza.
Segno e modulo
Il primo bit (bit del segno) indica se il numero è
positivo o negativo
Se il bit di segno vale:
1 allora il numero memorizzato è negativo
0 allora il numero memorizzato è positivo o nullo.
I bit successivi forniscono la rappresentazione del
valore assoluto del numero
Segno e modulo
Nell'esempio utilizziamo
per semplicità una
rappresentazione con 3 bit
(il primo per il segno e i
restanti 2 per il modulo)
000
+0
001
+1
010
+2
011
+3
100
-0
101
-1
110
-2
111
-3
Valori rappresentabili
Se si utilizzano due byte (16 bit) e si utilizza la
rappresentazione in segno e modulo
Il primo bit rappresenta il segno
Rimangono 15 bit per rappresentare il valore assoluto
del numero
Risultano quindi rappresentabili tutti i numeri interi
compresi fra
+ 215 -1 cioè +32767
- 215 -1 cioè -32767
Overflow
Il termine overflow (traboccamento) indica che il
volume di una sostanza eccede il volume del
contenitore
Nel nostro caso incorriamo in overflow se vogliamo
rappresentare valori superiori a +32767 in quanto
vengono persi i bit più significativi
Attenzione che può essere interessato anche il bit di
segno
Esempio overflow
Nell’esempio (rappresentazione a 8 bit) la somma di
due numeri produce overflow
Complemento a 2
Per i numeri relativi, una rappresentazione
alternativa a quella di segno e modulo è la
rappresentazione in complemento a 2
si rappresenta in binario il numero come se fosse
positivo
si “invertono” tutte le cifre del numero
trasformando gli 0 in 1 e viceversa (complemento a
uno);
si aggiunge 1.
Numero -123
123
0
1
1
1
1
0
1
1
compl. 1
1
0
0
0
0
1
0
0
+
1
=
compl. 2
1
0
0
0
0
1
0
1
Valori massimi e minimi
Esempio
Nell'esempio utilizziamo 3
bit
Possiamo rappresentare i
valori da -22 a +22-1
Esiste una sola
rappresentazione per il
numero 0
000
+0
001
+1
010
+2
011
+3
100
-4
101
-3
110
-2
111
-1
Somma in
complemento a 2
0 0 1 0 +
(+2)
1 0 1 1 =
(-5)
1 1 0 1
(-3)
000
+0
001
+1
010
+2
011
+3
100
-4
101
-3
0 1 1 1 +
(+7)
1 0 1 1 =
(-5)
110
-2
0 0 1 0
(+2)
111
-1