Il 0% ha trovato utile questo documento (0 voti)
11 visualizzazioni5 pagine

05a NumeriSigned

Il documento tratta la rappresentazione dei numeri interi in informatica, evidenziando le problematiche legate alla codifica del segno e le operazioni aritmetiche. Viene confrontata la rappresentazione in modulo e segno con quella in complemento a due, quest'ultima preferita per la sua efficienza operativa. Si discutono le proprietà del complemento a due, i suoi vantaggi e un algoritmo per la sua implementazione.

Caricato da

francesca
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
11 visualizzazioni5 pagine

05a NumeriSigned

Il documento tratta la rappresentazione dei numeri interi in informatica, evidenziando le problematiche legate alla codifica del segno e le operazioni aritmetiche. Viene confrontata la rappresentazione in modulo e segno con quella in complemento a due, quest'ultima preferita per la sua efficienza operativa. Si discutono le proprietà del complemento a due, i suoi vantaggi e un algoritmo per la sua implementazione.

Caricato da

francesca
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Sei sulla pagina 1/ 5

05/03/2025

F O N DA M E N T I
D I I N F O R M AT I C A
E B A S I D I DAT I
I N G EG N E R I A
GESTIONALE
PROF. ROBERTO GENNA
A.A. 2024-2025

NUMERI "SIGNED"
CODIFICA BINARIA

1
05/03/2025

NUMERI INTERI
• Numeri interi in matematica
– una estensione dei numeri naturali (1,2,3...) che include anche lo
zero e tutti i valori negativi della forma -N, essendo N un naturale

• Numeri interi in un elaboratore: problematiche


– come rappresentare il "segno meno“
– rendere semplice l'esecuzione delle operazioni

Due rappresentazioni:
• rappresentazione in modulo e segno
– semplice e intuitiva ma inefficiente e complessa nella gestione delle
operazioni → non molto usata in pratica
• rappresentazione in complemento a due
– meno intuitiva, costruita ad hoc, però rende semplice la gestione
delle operazioni → largamente usata

RAPPRESENTAZIONE IN
MODULO E SEGNO
Caratteristiche generali
• usa un bit per rappresentare esplicitamente il segno (convenzione: 0 = +, 1 = -)
• usa i restanti bit disponibili per rappresentare il valore assoluto come numero
binario puro
• Esempio su 8 bit:
 -2 → 10000010
 +5 → 00000101

Difetti
– il valore 0 ha due distinte rappresentazioni (10000000 = "-0" e 00000000 = "+0")
– non permette di usare direttamente gli algoritmi già noti per eseguire le operazioni
– in particolare, con le usuali regole di calcolo non è vero che X + (-X) = 0
esempio: +5 + 00000101 +
- 5 = 10000101
0 10001010 ???? -10 ????

2
05/03/2025

NOTAZIONE IN
COMPLEMENTO A DUE
Scopo
• poter utilizzare direttamente gli algoritmi dei numeri naturali per
eseguire le operazioni
• rendere verificata la proprietà che X + (-X) = 0 usando le regole
aritmetiche standard anche a prezzo di una notazione più complessa.

La notazione
• rappresentazione non (completamente) posizionale
• il bit più significativo di una stringa di n bit ha peso -2n-1 anziché 2n-1
(gli altri bit mantengono il peso che è loro proprio, come in binario puro)
• esempio:
– utilizzando n=8 bit, il bit 7 ha peso -128 anziché +128
– quindi la stringa 11110001 denota il valore:
-128 + 64 + 32 + 16 + 1 = -15

NOTAZIONE IN
COMPLEMENTO A DUE
Per definizione, il valore di un intero v espresso in questa
notazione è dato da:

dove i dk (con: k = 0, …, n-1) sono le cifre binarie della


rappresentazione del numero.

NOTA: la formula differisce da quella usata per i numeri


naturali solo per il peso negativo del MSB (Most Significant
Bit, il bit più significativo, ossia quello con peso massimo).

3
05/03/2025

NOTAZIONE IN
COMPLEMENTO A DUE
Conseguenze
• MSB = 0 → numero positivo (stesso valore che si avrebbe in binario puro: il
diverso peso del MSB non ha influenza)
• MSB = 1 → numero negativo (il valore rappresentato si ottiene sommando il
contributo negativo del MSB con i contributi positivi degli altri bit)

Esempi
– la stringa 11110001 denota il valore -128 + 64 + 32 + 16 +1 = -15
– La stringa 00001111 = 15
– la stringa 01110001 denota il valore 64 + 32 + 16 + 1 = 113
– la stringa 10000000 denota il valore -128 + 0 = -128
– la stringa 11111111 denota il valore -128 + 64 + 32 + 16 + 8 + 4 + 2 +1= -1
– la stringa 00000000 denota il valore 0
– la stringa 01111111 denota il valore 64 + 32 + 16 + 8 + 4 + 2 + 1 = 127

NOTAZIONE IN
COMPLEMENTO A DUE
Osservazioni e Proprietà
• valori opposti hanno rappresentazioni completamente diverse
• rappresentazioni identiche a meno del MSB denotano valori interi
completamente diversi
• lo zero ha un'unica rappresentazione

Campo di valori rappresentabili (range)


• MSB = 0: n-1 bit usabili come in binario puro→ range da 0 a 2n-1-1
• MSB = 1: stesso intervallo traslato di -2n-1 → range da -2n-1 a -1
• Totale: → range da -2n-1 a 2n-1-1

4
05/03/2025

NOTAZIONE IN
COMPLEMENTO A DUE
Vantaggi di questa notazione
• le somme algebriche si possono eseguire con le stesse
regole dell'aritmetica binaria, con la seguente convenzione:
– se i due addendi sono discordi, basta ignorare
l’eventuale riporto;
– se i due addendi sono concordi, va comunque ignorato il
riporto, ma il risultato è corretto se e solo se è concorde
(basta verificare solo il MSB)
• nessun circuito particolare è necessario per trattare i
numeri negativi:
– semplicità
– basso costo

NOTAZIONE IN
COMPLEMENTO A DUE
Algoritmo per rappresentare un numero
Se il numero è positivo (o zero), valgono le stesse regole
della conversione in binario puro
Se il numero è negativo:
1. calcolare la rappresentazione in binario puro del valore
assoluto del numero da rappresentare
2. calcolare l’opposto, col seguente algoritmo:
I. invertire tutti i bit della stringa ottenuta (NOT bit a
bit)
II. incrementare di 1 il risultato (somma base-2)

10

Potrebbero piacerti anche