I.4 Rappresentazione dell`informazione - Numeri con segno

Introduzione
Rappresentazione in modulo e segno
Rappresentazione in complemento alla base
Esercizi e possibili domande d’esame
I.4 Rappresentazione dell’informazione Numeri con segno
Elisabetta Ronchieri
Università di Ferrara
Dipartimento di Economia e Management
Insegnamento di Informatica
Ottobre 20, 2015
Elisabetta Ronchieri
I Concetti Base
Introduzione
Rappresentazione in modulo e segno
Rappresentazione in complemento alla base
Esercizi e possibili domande d’esame
Argomenti
1
Introduzione
2
Rappresentazione in modulo e segno
3
Rappresentazione in complemento alla base
4
Esercizi e possibili domande d’esame
Elisabetta Ronchieri
I Concetti Base
Introduzione
Rappresentazione in modulo e segno
Rappresentazione in complemento alla base
Esercizi e possibili domande d’esame
I numeri con segno
Il segno dei numeri può essere solo di due tipi:
1
2
positivo (+)
negativo (-)
Riservare 1 bit al segno sembra essere la soluzione più
semplice, ma non è detto sia la più conveniente.
Elisabetta Ronchieri
I Concetti Base
Introduzione
Rappresentazione in modulo e segno
Rappresentazione in complemento alla base
Esercizi e possibili domande d’esame
Numeri con segno
Per rappresentare numeri con segno si possono usare tre
tecniche di codifica:
1
2
3
modulo e segno
complemento a 1
complemento a 2
Elisabetta Ronchieri
I Concetti Base
Introduzione
Rappresentazione in modulo e segno
Rappresentazione in complemento alla base
Esercizi e possibili domande d’esame
Rappresentazione di numeri interi
Notifica
Range di valori
Posizionale
Modulo e segno
Complemento a 2
[0, 2n − 1]
[−(2n−1 − 1), 2n−1 − 1]
[−2n−1 , 2n−1 − 1]
Elisabetta Ronchieri
I Concetti Base
Introduzione
Rappresentazione in modulo e segno
Rappresentazione in complemento alla base
Esercizi e possibili domande d’esame
Rappresentazione in modulo e segno
Gestisce in modo completamente separato il segno dal
modulo.
Antepone al modulo di un numero un simbolo che denota
se esso è positivo o negativo.
Su n cifre:
usa la prima cifra più significativa (MSD) per esprimere il
segno;
usa le restanti n − 1 cifre per rappresentare il modulo o
valore assoluto.
Con n cifre a disposizione, l’intervallo dei numeri
rappresentabili è [−(B n−1 − 1), B n−1 − 1].
Nel caso di B=2 e n=16, l’intervallo è [−(215 − 1), 215 − 1].
Elisabetta Ronchieri
I Concetti Base
Introduzione
Rappresentazione in modulo e segno
Rappresentazione in complemento alla base
Esercizi e possibili domande d’esame
Rappresentazione in modulo e segno
In base 2 è convenzione esprimere la cifra del segno con
0 se il numero è positivo;
1 se il numero è negativo.
Con 3 bit si rappresentano i numeri fra −(22 − 1) = −3 e
+(22 − 1) = +3:
000 +0, 100 -0
001 +1, 101 -1
010 +2, 110 -2
011 +3, 111 -3
Elisabetta Ronchieri
I Concetti Base
Introduzione
Rappresentazione in modulo e segno
Rappresentazione in complemento alla base
Esercizi e possibili domande d’esame
Esempi di conversione di base
Problema: convertire (−15)10 in base 2.
Modulo: |15| = 15 = (1111)2 ;
Segno negativo: 1;
Conversione da base 10 a base 2: (−15)10 = (11111)2 .
Fissato la cifra del segno, le altre si ottengono usando il
metodo delle divisioni successive per la base 2.
Problema: convertire (10000101)2 in base 10.
Modulo: (0000101)2 = (5)10 ;
Segno negativo: 1;
Conversione da base 2 a base 10: (10000101)2 = (−5)10 .
Elisabetta Ronchieri
I Concetti Base
Introduzione
Rappresentazione in modulo e segno
Rappresentazione in complemento alla base
Esercizi e possibili domande d’esame
Svantaggi
Ripete lo zero 2 volte:
su 8 cifre in base 2, -0 = 10000000;
su 8 cifre in base 2, +0 = 00000000.
Non permette di usare gli algoritmi noti per le operazioni
aritmetiche.
Non è vero che X + (−X ) = 0. Infatti:
In base 10: +5 + (-5) = 0
In base 2: 00000101 + 10000101 = 10001010 = (−10)10
Richiede circuiti aritmetici più complicati, quindi un minor
utilizzo.
Elisabetta Ronchieri
I Concetti Base
Introduzione
Rappresentazione in modulo e segno
Rappresentazione in complemento alla base
Esercizi e possibili domande d’esame
Operazioni in modulo e segno
Dati i numeri (0010)2 = (+2)10 e (0011)2 = (+3)10 , calcolare la
somma.
I numeri sono positivi, si applicano le regole dell’addizione
alle prime tre cifre ottenendo (101)2 = (+5)10
Dati i numeri (1001)2 = (−1)10 e (1110)2 = (−6)10 , calcolare la
somma.
I numeri sono negativi, si applicano le regole dell’addizione
alle prime tre cifre ottenendo (1111)2 = (−7)10
Dati i numeri (0010)2 = (+2)10 e (1110)2 = (−6)10 , calcolare la
sottrazione.
I numeri sono di segno diverso, si applicano le regole della
sottrazione alle prime tre cifre ottenendo (1100)2 = (−4)10
Elisabetta Ronchieri
I Concetti Base
Introduzione
Rappresentazione in modulo e segno
Rappresentazione in complemento alla base
Esercizi e possibili domande d’esame
Rappresentazione in complemento a 1
Dato un numero binario di n bit, il complemento a 1 o
complemento di un numero A è la quantità:
Ā = 2n − 1 − A
Regola pratica:
Il complemento a 1 di un numero binario A si ottiene
cambiando il valore a tutti i suoi bit.
Esempio:
A = 1011 risulta Ā = 0100
Elisabetta Ronchieri
I Concetti Base
Introduzione
Rappresentazione in modulo e segno
Rappresentazione in complemento alla base
Esercizi e possibili domande d’esame
Rappresentazione in complemento a 2
Dato un numero binario di n bit, il complemento a 2 di un
numero A è la quantità:
¯ = 2n − A
Ā
MSG indica il segno: 0=+, 1=Se MSB è 0, lascia il numero positivo invariato.
Se MSB è 1, segue la procedura di complementazione.
Regola pratica:
Il complemento a 2 di un numero binario A si ottiene
sommando uno al suo complemento a 1.
Esempio:
¯ = 0101
A = 1011 risulta Ā = 0100 che risulta Ā
Elisabetta Ronchieri
I Concetti Base
Introduzione
Rappresentazione in modulo e segno
Rappresentazione in complemento alla base
Esercizi e possibili domande d’esame
Rappresentazione in complemento a 2
I numeri positivi sono rappresentati in modulo e segno.
I numeri negativi sono rappresentati in complemento a
due.
Lo 0 ha una sola rappresentazione, quindi maggiore
semplicità.
Regola pratica alternativa:
Si parte da destra, si lasciano inalterati tutti gli zeri fino al primo
uno che si lascia inalterato, si complementano tutti gli altri bit.
Esempio:
A = 001101001000 risulta A = 110010111000
Elisabetta Ronchieri
I Concetti Base
Introduzione
Rappresentazione in modulo e segno
Rappresentazione in complemento alla base
Esercizi e possibili domande d’esame
Rappresentazione in complemento alla base
Con n cifre a disposizione, l’intervallo dei numeri
rappresentabili è [−2n−1 , 2n−1 − 1].
Se b=2 e n=16, l’intervallo rappresentato è [−215 , 215 − 1]
Con n cifre a disposizione, il numero più piccolo
rappresentabile è −2n−1 .
Con n cifre a disposizione, il numero più grande
rappresentabile è −2n−1 − 1.
L’intervallo dei valori rispetto alla codifica in modulo e
segno è più grande comprendendo il valore −2n−1 .
La conversione in P
base 10 segue la formula:
v = −cn−1 2n−1 + kk =n−2
ck 2k
=0
Elisabetta Ronchieri
I Concetti Base
Introduzione
Rappresentazione in modulo e segno
Rappresentazione in complemento alla base
Esercizi e possibili domande d’esame
Rappresentazione in complemento a 2
Con 3 bit si rappresentano i numeri fra −(22 ) = −4 e
+(22 − 1) = +3:
000 +0, 100 -4
001 +1, 101 -3
010 +2, 110 -2
011 +3, 111 -1
Si osserva che 011 = +3, 100 = −4
Elisabetta Ronchieri
I Concetti Base
Introduzione
Rappresentazione in modulo e segno
Rappresentazione in complemento alla base
Esercizi e possibili domande d’esame
Esempio di conversione di base
Convertire il numero (11110001)2 in base 10.
le cifre n: 8;
il 7 bit: vale -128;
dalla formula nella slide 14:
11110001 = −128 + (64 + 32 + 16 + 1) = −15.
Elisabetta Ronchieri
I Concetti Base
Introduzione
Rappresentazione in modulo e segno
Rappresentazione in complemento alla base
Esercizi e possibili domande d’esame
Esempi di conversione di base
Numero
v
11110001
01110001
10000000
11111111
00000000
01111111
00000101
-128 + (64 + 32 + 16 + 1) = -15
64 + 32 + 16 + 1 = 113
-128 + 0 = -128
-128 + (64 + 32 + 16 + 8 + 4 + 2 + 1) = -1
0
64 + 32 + 16 + 8 + 4 + 2 + 1 = 127
4+1=5
Elisabetta Ronchieri
I Concetti Base
Introduzione
Rappresentazione in modulo e segno
Rappresentazione in complemento alla base
Esercizi e possibili domande d’esame
Rappresentazione in complemento a 2
Utilizza direttamente gli algoritmi dei numeri naturali per le
operazioni.
È vera X + (−X ) = 0.
Il numero negativo sommato ad un numero positivo
fornisce la differenza:
X − Y = X + (−Y in complemento a due);
Non è completamente posizionale come da formula nella
slide 14.
Elisabetta Ronchieri
I Concetti Base
Introduzione
Rappresentazione in modulo e segno
Rappresentazione in complemento alla base
Esercizi e possibili domande d’esame
Operazioni in complemento a due
Dati due numeri -5 e 3, calcolare la somma.
Rappresentare -5 in base 2 su 8 cifre: -128 + 123 =
(11111011)2 ;
Rappresentare +3 in base 2 su 8 cifre;
Calcolare l’operazione di somma;
Riconvertire il numero (11111110)2 in base 10:
(11111110)2 = -128 + 126 = -2.
Elisabetta Ronchieri
I Concetti Base
Introduzione
Rappresentazione in modulo e segno
Rappresentazione in complemento alla base
Esercizi e possibili domande d’esame
Operazioni in complemento a due
Dati due numeri -1 e -5, calcolare la somma.
Rappresentare -1 in base 2 su 8 cifre: -128 + 127 =
(11111111)2 ;
Rappresentare -5 in base 2 su 8 cifre: -128 + 123 =
(11111011)2 ;
Calcolare l’operazione di somma;
Riconvertire il numero (111111010)2 in base 10:
(111111110)2 = -128 + 122 = -6.
Si osserva la presenza del riporto.
Elisabetta Ronchieri
I Concetti Base
Introduzione
Rappresentazione in modulo e segno
Rappresentazione in complemento alla base
Esercizi e possibili domande d’esame
Overflow
L’overflow si ha quando il risultato di una operazione non è
rappresentabile correttamente su n cifre.
Esempio 1:
+14 + (+10) = 24
01110 + 01010 = 11000paria(−8)10
Esempio 2:
-8 + (-10) = -18
11000 + 10110 = 101110paria(+14)10
C’è overflow:
se c’è riporto al di fuori del bit di segno e non sul bit di
segno;
o se c’è riporto sul bit di segno ma non al di fuori.
Elisabetta Ronchieri
I Concetti Base
Introduzione
Rappresentazione in modulo e segno
Rappresentazione in complemento alla base
Esercizi e possibili domande d’esame
Overflow
Per evitare l’overflow occorre aumentare il numero di bit
utilizzati per rappresentare gli operandi.
Nel caso di operandi con segno discorde non si può mai
verificare overflow.
Nel caso di operandi con segno concorde c’è overflow
quando il risultato ha segno discorde da quello dei due
operandi.
Si trascura sempre il riporto oltre il MSB.
Elisabetta Ronchieri
I Concetti Base
Introduzione
Rappresentazione in modulo e segno
Rappresentazione in complemento alla base
Esercizi e possibili domande d’esame
Esercizi sulla conversione di base in modulo e segno
Effettuare la verifica di uguaglianza:
con 8 cifre:
(01101001)2 = (+105)10
(11101001)2 = (−105)10
(01001001)2 = (+73)10
(11001001)2 = (−73)10
con 4 cifre:
(1101)2 = (−5)10
(0101)2 = (+5)10
(0111)2 = (+7)10
Elisabetta Ronchieri
I Concetti Base
Introduzione
Rappresentazione in modulo e segno
Rappresentazione in complemento alla base
Esercizi e possibili domande d’esame
Esercizi
Si determini, se esiste, la base B di un sistema di numerazione
tale che (842)B = (1202)10 .
Svolgimento: partendo da
8B 2 + 4B + 2 = 1202
dopo un pò di facchinaggio algebrico, risolvere la seguente
equazione di secondo grado
B 2 + 21 B − 150 = 0
Elisabetta Ronchieri
I Concetti Base
Introduzione
Rappresentazione in modulo e segno
Rappresentazione in complemento alla base
Esercizi e possibili domande d’esame
Esercizi
Si determini, se esiste, la base B ≤ 16 di un sistema di
numerazione tale che (725)B − (626)B = (224)10 .
Svolgimento: partendo da
7B 2 + 2B + 5 − (6B 2 + 2B + 6) = 224
dopo un pò di facchinaggio algebrico, risolvere la seguente
equazione di secondo grado
B 2 − 225 = 0
Elisabetta Ronchieri
I Concetti Base
Introduzione
Rappresentazione in modulo e segno
Rappresentazione in complemento alla base
Esercizi e possibili domande d’esame
Possibili domande d’esame
1 Si determini, se esiste, la base B di un sistema di
numerazione tale che
(842)B = (1202)10
(a)
(b)
(c)
(d)
(e)
15
10
8
12
14
Elisabetta Ronchieri
I Concetti Base
Introduzione
Rappresentazione in modulo e segno
Rappresentazione in complemento alla base
Esercizi e possibili domande d’esame
Possibili domande d’esame
2 Si determini, se esiste, la base B ≤ 16 di un sistema di
numerazione tale che
(725)B − (626)B = (224)10
(a)
(b)
(c)
(d)
(e)
15
10
8
12
14
Elisabetta Ronchieri
I Concetti Base