Estratto del documento

Notazione decimale e binaria

Scrivere un numerale non ha senso senza specificarne la base.

Ad esempio, il numerale può valere due, dieci o sedici a seconda che ci

10

si trovi in base 2, 10, 16. Per questo motivo, la base del numerale viene

indicata in basso dopo il numerale stesso scritto tra parentesi

0 1 2 3 4

(10110) (4 ) (16) (22)

= 0 ⋅ 2 + 1 ⋅ 2 + 1 ⋅ 2 + 0 ⋅ 2 + 1 ⋅ 2 = + =

2 10 10 10

P Diventa dunque necessario conoscere le potenze di 2 fino a .

10

2

1 0 −1

(10.1) (2.5)

= 1 ⋅ 2 + 0 ⋅ 2 + 1 ⋅ 2 =

2 10

In base 2 occorre circa il triplo delle cifre che in base 10.

Aggiungere uno zero dopo un numero in base 2 significa moltiplicarlo per 2,

rimuoverlo, dignifica dividere per 2.

ossia di fare moltiplicazioni e divisioni per potenze di due, con grande

velocità.

Ordini di grandezza binari

Ricordiamo che in un sistema binario gli ordini di grandezza sono dati dalle

potenze di 2 e, in particolare, si basano sulla potenza 10

2 = 1024.

Si ha inoltre possibilità di passare dalle potenze di 2 a quelle di 10

tramite un arrotondamento. 9

9 9 9 2.7

2 = 512 2 = 10 = = 2.7 2 ≈ 10

10 × 3

Notazione esadecimale

Per i numerali occorrono 16 cifre {0, 1, … , 9, , , , , , } 2

2. Sistemi di numerazione binaria e codifiche testuali

(13) (19) (0001

= = 0011)

16 10 2

Una singola cifra in base 16 può essere rappresentata con 4 bit binari, in

quanto .

4

16 = 2

Il motivo per cui si utilizza la base 16, è che consente di spacchettare

numerali in base 2 in gruppi da 4 cifre, e di convertirli facilmente in

esadecimale.

conviene utilizzarla per i conti.

Numeri a precisione finita

Avendo 8 bit (ossia 2 cifre in esadecimale), possono essere rappresentati

solo numeri, e occorre scegliere il tipo di numero che si sta

8

2 = 256

rappresentando, per creare una corrispondenza tra i 256 numerali ed i 256

numeri che devono rappresentare. Necessariamente si escludono dei numeri che

si trovano nel mezzo tra quelli che abbiamo scelto, a meno che non si stiano

rappresentando esclusivamente interi. Si avranno ugualmente un numero

maggiore ed uno minore.

Quando abbiamo un numero finito di cifre, al di là dell

rappresentabile, anche la precisione è finita, in quanto il numero di

decimali è finito. Le proprietà associativa e distributiva non valgono più,

ed alcune operazioni vengono chiuse. Nel caso di una somma di numeri

vincolati alle 2 cifre, che non è rappresentabile con

78 + 36 = 114,

Precisione finita in C

La precisione finita può essere un grave problema, in quanto può causare

errori quando occorre maneggiare numeri molto grandi.

Con lo standard di C a 4 byte, ad esempio, è possibile rappresentare solo

fino a , dunque nel nostro intero non possono entrare numeri maggiori di

32

2 ossia 4 miliardi. Un numero come 8 miliardi non può

2 30 9

2 × 2 = 4 × 10

essere dunque inserito nelle variabili di base di C, che reagisce dando come

valore di uscita una cifra negativa.

Nella maggior parte dei casi non superiamo il limite, ma un superamento

involontario può causare gravi errori. 3

2. Sistemi di numerazione binaria e codifiche testuali

a favore di quella ma anche questa ha delle limitazioni.

,

assicurarsi di non superarlo.

Unica eccezione è Python, che ha deciso di assegnare agli interi una

grandezza variabile e non predefinita, attraverso una codifica non standard

degli interi, che ci permette di compiere sugli interi qualsiasi calcolo che

la memoria del nostro calcolatore ci consenta. Questa soluzione riduce

rogramma, ma a fronte

fisico.

Operazione di somma in binario

In binario si ha 1 + 1 = 10.

In generale, se si sta facendo una somma a più cifre in binario, si utilizza

il riporto, dunque possiamo osservare un caso specifico come:

111111111 +

000000001 =

____________________________________

1000000000

Passaggio da decimale a binario

Il modo

divisioni per 2 ripetute fino ad avere 0 come risultato.

cifra relativa alla divisione che si sta svolgendo:

In alternativa si può procedere ad intuito, osservando un numero e

domandandoci quale sia la maggiore potenza di 2 al suo interno, e sommandovi

progressivamente potenze di 2 più piccole. Nel caso del numero 26, la

potenza di 2 più grande contenuta in esso è .

4

16 = 2 4

2. Sistemi di numerazione binaria e codifiche testuali

Intervalli rappresentati

Rappresentando gli interi positivi e lo zero in notazione binaria con n bit

sfruttando tutte le possibili

[0, 2 − 1], 2

disposizioni.

Interi positivi e negativi

Per rappresentare gli interi relativi, a parità di cifre si dimezza

Con un possiamo rappresentare 8 valori in diversi intervalli:

= 3,

• [0, 7]

• [−3, 4]

• [−4, 3] (avanza una codifica)

• [−3, +3]

Per ottenere questi intervalli si utilizzano varie rappresentazioni

Modulo e segno

• Complemento a 1

• Complemento a 2

• Eccesso

2

Rappresentazione in modulo e segno

La rappresentazione modulo e segno, su n bit, utilizza il primo per il segno

possono essere rappre −1 −1

[−2 + 1, + 2 − 1]

Nel caso di 4 bit, si ha la possibilità di codificare da [−7, +7]

5 = 0101 − 5 = 1101

Vengono codificati in tutto 15 numeri, in quanto si ha una doppia

rappresentazione dello zero come e

0000 1000.

utilizzo di questo sistema fa venir meno la posizionalità del sistema, e

crea dei problemi nelle operazioni.

Rappresentazione in complemento 1

Nella rappresentazione in complemento 1, ogni numero positivo viene

rappresentato con uno 0 davanti, mentre i numeri negativi iniziano con un 1,

seguito da tutte le altre cifre invertite, rispetto a quelle che avrebbero

se avessero valore positivo. bit è sempre

−1 −1

[−2 + 1, + 2 − 1]

Di conseguenza, per 4 bit, questo è [-7, +7]. Esempio:

5 = 0101 − 5 = 1010

Si ha tuttavia che sia sia codificano lo zero.

0000 1111 5

2. Sistemi di numerazione binaria e codifiche testuali

Questo è sistema è un sistema posizionale, in quanto si considera che

−1

−(2 − 1)

Si ha infatti −5 = 1010

(−7)

−5 = 1 ⋅ + 0 ⋅ 4 + 1 ⋅ 2 + 0 ⋅ 1

Questo sistema è posizionale e ci permette di fare i conti nel modo in cui

li conosciamo, ma presenta ugualmente un problema, ossia che la potenza più

significativa, quella negativa, non è una potenza di 2.

Rappresentazione in complemento a 2

La problematica della rappresentazione in complemento a 1 viene risolta

nella rappresentazione a complemento a 2, in cui la cifra più significativa

vale . Tutte le altre cifre hanno invece un valore positivo.

−1

−2 bit è dunque si ha

−1 −1

[−2 , +2 − 1],

un intervallo asimmetrico.

Per rvallo di rappresentazione è In

[−8,

4 +7].

questo caso si ha .

(0101) (1011)

5 = − 5 =

2 2

Con questo sistema si ha un solo zero, dato da 0000.

È questo il modo in cui vengono rappresentati i numeri nei calcolatori.

In modo più immediato per rappresentare i numeri positivi nel complemento a

2 è utilizzare le regole del complemento a 1. I numeri negativi si possono

ottenere in vari modi.

Esempio di rappresentazione di un numero positivo:

(6)

10

Si calcola il modulo di questo numero e si aggiunge uno zero per

(110) 2

ottenere (6) (0110) (−8)

= = 0 ⋅ + 1 ⋅ 4 + 1 ⋅ 2 + 0 ⋅ 1

10 2

La rappresentazione di un numero negativo inizia sempre dal calcolo del

modulo, a cui si aggiunge uno 0 (6) (0110)

10

A questo punto i numeri vengono ricopiati da destra fino al primo 1

(compreso il primo 1) e quelli successivi vengono invertiti.

(1010)

0110 → 10 → 2

Rappresentazione in eccesso −

Rappresentare in eccesso vuol dire rappresentare un numero sommandovi una

data potenza di 2 (in questo caso, dati bit, si sceglie come eccesso

). Si sceglie questo eccesso in modo da rendere positivi tutti i numeri

−1

2

da rappresentare e dopo di che questi vengono codificati in binario come

interi positivi. 6

2. Sistemi di numerazione binaria e codifiche testuali

I numerali rappresentati in eccesso si ottengono da quelli in

−1

2

complemento a 2 complementando il bit finale, ossia rendendolo 1 se è 0 o 0

se è 1.

Se prendiamo bit, si ha un eccesso di dunque i numeri

= 4 8, esattamente come un

[−8, +7],

complemento a 2

Si ha dunque

−3 − 3 + 8 = 5 → 0101

+4 + 4 + 8 = 12 → 1100

Conversione CP2 Ex 8

(3) (0011) (3 (1011)

→ + 8) →

10 2 10 8

(−3) (1101) (−3 (0101)

→ + 8) →

10 2 10 8

, da ora indicato come può essere scelto anche in maniera

sia

da ed è dato da

[−, 2 − − 1]

Rappresentazioni a confronto 7

2. Sistemi di numerazione binaria e codifiche testuali

Si osserva che nella rappresentazione ad eccesso 8 i numerali sono ordinati,

ossia per confrontare 2 numeri è sufficiente osservare i numerali binari

senza fare calcoli.

Addizioni binarie

Le addizioni tra numerali binari si effettuano cifra a cifra portando il

riporto alla cifra successiva.

Se il numero di cifre non permette di rappresentare il risultato della somma,

si ha un trabocco nella propagazione del riporto.

Addizioni in complemento

In complemento a 2 somme e sottrazioni tra reali sono gestite allo stesso

modo, ma occorre ignorare eventuali trabocchi a ordini superiori

Se gli operandi hanno segno differente non si rischia mai di uscire

(rappresentato dal numero in verde)

Se gli o

no:

Se si sommano due operandi negativi ed il risultato è ancora negativo, non

si ha alcun problema; stessa cosa vale per somme di positivi. Se invece il

risultato cambia segno, si è verificato un errore e si è usciti 8

2. Sistemi di numerazione binaria e codifiche testuali

complemento, generando un cambio di segno.

Rappresentare numeri

Se ci sarà chiesto di rappresentare un intero, ci sarà chiesto di farlo con

il numero di bit più basso possibile (in complemento a due o in eccesso)

Per fare ciò

Anteprima
Vedrai una selezione di 10 pagine su 162
Riassunto esame Fondamenti di informatica, Prof. Santucci Giuseppe, libro consigliato Architettura dei calcolatori, Andrew S. Tanenbaum Pag. 1 Riassunto esame Fondamenti di informatica, Prof. Santucci Giuseppe, libro consigliato Architettura dei calcolatori, Andrew S. Tanenbaum Pag. 2
Anteprima di 10 pagg. su 162.
Scarica il documento per vederlo tutto.
Riassunto esame Fondamenti di informatica, Prof. Santucci Giuseppe, libro consigliato Architettura dei calcolatori, Andrew S. Tanenbaum Pag. 6
Anteprima di 10 pagg. su 162.
Scarica il documento per vederlo tutto.
Riassunto esame Fondamenti di informatica, Prof. Santucci Giuseppe, libro consigliato Architettura dei calcolatori, Andrew S. Tanenbaum Pag. 11
Anteprima di 10 pagg. su 162.
Scarica il documento per vederlo tutto.
Riassunto esame Fondamenti di informatica, Prof. Santucci Giuseppe, libro consigliato Architettura dei calcolatori, Andrew S. Tanenbaum Pag. 16
Anteprima di 10 pagg. su 162.
Scarica il documento per vederlo tutto.
Riassunto esame Fondamenti di informatica, Prof. Santucci Giuseppe, libro consigliato Architettura dei calcolatori, Andrew S. Tanenbaum Pag. 21
Anteprima di 10 pagg. su 162.
Scarica il documento per vederlo tutto.
Riassunto esame Fondamenti di informatica, Prof. Santucci Giuseppe, libro consigliato Architettura dei calcolatori, Andrew S. Tanenbaum Pag. 26
Anteprima di 10 pagg. su 162.
Scarica il documento per vederlo tutto.
Riassunto esame Fondamenti di informatica, Prof. Santucci Giuseppe, libro consigliato Architettura dei calcolatori, Andrew S. Tanenbaum Pag. 31
Anteprima di 10 pagg. su 162.
Scarica il documento per vederlo tutto.
Riassunto esame Fondamenti di informatica, Prof. Santucci Giuseppe, libro consigliato Architettura dei calcolatori, Andrew S. Tanenbaum Pag. 36
Anteprima di 10 pagg. su 162.
Scarica il documento per vederlo tutto.
Riassunto esame Fondamenti di informatica, Prof. Santucci Giuseppe, libro consigliato Architettura dei calcolatori, Andrew S. Tanenbaum Pag. 41
1 su 162
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Bizzus_ di informazioni apprese con la frequenza delle lezioni di Fondamenti di informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Roma La Sapienza o del prof Santucci Giuseppe.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community