• Non ci sono risultati.

il sistema di numerazione decimale

N/A
N/A
Protected

Academic year: 2021

Condividi "il sistema di numerazione decimale"

Copied!
16
0
0

Testo completo

(1)

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 1

Sistemi di Numerazione e Rappresentazione interna di Numeri

La rappresentazione dei numeri richiede:

• una codifica, ovvero la definizione di un alfabeto in codice e di un codice

• la definizione di operazioni ed algoritmi che consentano di realizzare sulle rappresentazioni dei numeri le operazioni del tipo di numero codificato

Un sistema di numerazione è definito da:

• alfabeto in codice: ovvero l’insieme dei simboli base, le CIFRE

• un codice: un insieme di regole che permettono di definire la rappresentazione di un numero mediante una stringa di cifre

• un insieme di operazioni che realizzano sulla rappresentazione dei numeri le operazioni previste per i numeri stessi

il sistema di numerazione decimale

• l’alfabeto in codice è costituito da dieci cifre

• ciascuna cifra nella parola codice rappresenta un numero dipendente dalla cifra stessa e dalla posizione occupata dalla cifra nella parola codice in cui si trova

• una parola codice rappresenta un numero dato dalla somma pesata dei numeri rappresentati dalle singole cifre che lo compongono

(2)

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 3

• alle cifre (0,1,2,3,4,5,6,7,8,9) vengono associati nell’ordine i primi 10 numeri naturali

• detto i il posto occupato dalla cifra ci in una stringa (il primo posto a partire da destra è il posto 0), il numero rappresentato da tale cifra è: ci *10i

esempio: la stringa 3542 rappresenta il numero:

3*103 + 5*102 + 4*101 + 2*100

• il sistema viene detto POSIZIONALE e PESATO

• 10 è detta la BASE del sistema

il sistema di numerazione decimale

cambiando l’alfabeto in codice e la base, si possono costruire sistemi posizionali e pesati diversi da quello decimale

un numero X >0 è rappresentato mediante la stringa di cifre:

Cn-1 Cn-2 ...C1 C0 . C-1 C-2... C-m

con n i

m i

i b

C X

1

… ovviamente nelle operazioni aritmetiche bisogna tener presente la base b della numerazione ...

…in generale ...

(3)

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 5

Il sistema decimale

• Base: b = 10

• Cifre: (0,1,2,3,4,5,6,7,8,9)

• Pesi: ... 10000 1000 100 10 1

i pesi sono potenze delle base 10

Il sistema ottale

• Base: b = 8

• Cifre: (0,1,2,3,4,5,6,7)

• Pesi: ... 4096 512 64 8 1

i pesi sono potenze delle base 8

68 = 610 108 = 810 118 = 910 128 = 1010 138 =... .… = 1910 778 = 6310 1008 = 6410 7778= …. 10008 = ….

0.18 = 1/810 0.018 = 1/6410 0.0018 0.778

(4)

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 7

Il sistema esadecimale

• Base = 16

• Cifre: (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)

• Pesi: … 4096 256 16 1

1016 = 1610 16C16 = 36410 0.1 0.01

Il sistema binario

• Base = 2

• Cifre: (0,1)

• Pesi: ...2048 1024 512 256 128 64 32 16 8 4 2 1

102 = 210 1002 = 410 1110102 = 5810 0.12 = 1/210 0.012 = 1/410 0.112 = 3/410

(5)

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 9

Tabella riassuntiva

F 17

1111 15

E 16

1110 14

D 15

1101 13

C 14

1100 12

B 13

1011 11

A 12

1010 10

9 11

1001 9

8 10

1000 8

7 07

0111 7

6 06

0110 6

5 05

0101 5

4 04

0100 4

3 03

0011 3

2 02

0010 2

1 01

0001 1

0 00

0000 0

Esadecimale Ottale

Binario Decimale

… una caratteristica dei sistemi a base 2

k

se adottiamo per ciascuna cifra dell’alfabeto codice una codifica in numerazione binaria

– ad esempio ottale: (0,1,2,3,4,5,6,7) 000, 001, 010, 011, 100, 101, 110, 111

si ha che la codifica binaria indiretta coincide con quella diretta

– ad esempio: 778 = 111 1112 348= 011 1002

idem se codice esadecimale: (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)

– (0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111)

– A916 = 1010 10012 FF16 = 1111 11112

(6)

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 11

i numeri periodici:

• il concetto di numero periodico è del tutto dipendente dalla base di numerazione

• un numero periodico in una determinata base può non esserlo in un’altra

• esempio: 1/3 è periodico nella base decimale

ma nella base 3 è esattamente rappresentato da 0.1;

0.110 è periodico in binario

CONVERSIONE DI BASE

Dato N>0 intero, in base decimale, convertirlo in base b:

• dividiamo N per b, otteniamo un quoto Q0 ed un resto R0 : N=Q0b+R0

• dividiamo Q0 per b, otteniamo un quoto Q1 ed un resto R1 :Q0=Q1b+R

• ripetiamo finché Qn < b, ovvero dividendo Qn per b il quoto è zero :

• Q1= Q2b+R2

………….

• Qn-1= Qnb+Rn dove Qn < b , ovvero

• Qn= 0 + Qn Ovvero :

N = Qnbn+1 + Rnbn + Rn-1bn-1 + … + R1b +R0b0 e quindi N nella base b la rappresentazione è:

QnRnRn-1 ...R1R0

(7)

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 13

Esempio:

conversione di 10268 decimale in base ottale

10268 : 8 1283 resto 4 1283 : 8 160 resto 3 160 : 8 20 resto 0 20 : 8 2 resto 4 2 : 8 0 resto 2

1026810 = 240348

cifra più significativa cifra meno significativa

Dividendo base Quoto Resto

10268 8 1283 4

1283 8 160 3

160 8 20 0

20 8 2 4

2 8 0 2

conversione in base binaria di 123 decimale

123 : 2 61 resto 1 61 : 2 30 resto 1 30 : 2 15 resto 0 15 : 2 7 resto 1 7 : 2 3 resto 1 3 : 2 1 resto 1 1 : 2 0 resto 1

12310 = 11110112

Esempio:

123 : 2 61 : 2

30 : 2 15 : 2

7 : 2 1 : 2 1

1 0 1 1

3 : 2 1

1 0

(8)

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 15

Aritmetica dei numeri naturali

• Algoritmi classici per la realizzazione delle operazioni aritmetiche (noti dalle scuole elementari)

• le regole sono le stesse per tutti i sistemi di numerazione posizionali (non solo quello decimale):

– per addizione e sottrazione numeri in colonna e riporto …, – per moltiplicazione e divisione uso di tavole pitagoriche per

le singole cifre …

– un esempio … in decimale ...

1 1

4987 + 3232 8219

riporti

Aritmetica binaria

• Un numero viene rappresentato da una stringa di n bit

• L’intervallo rappresentato è: 0  y < 2n

ad esempio se n = 16 l'intervallo è [0, 65536)

Per le operazioni valgono le stesse regole della base decimale

(9)

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 17

Aritmetica binaria

• Addizione

• Stesse regole della aritmetica decimale

r a b s r'

0 0 0 0 0

0 0 1 1 0

0 1 0 1 0

0 1 1 0 1

1 0 0 1 0

1 0 1 0 1

1 1 0 0 1

1 1 1 1 1

r: riporto a,b: addendi s: somma r’: nuovo riporto 1 1

0110 + 0111 = 1101

riporti

Somma Binaria

610 + 710 = 1310

Aritmetica binaria

• Sottrazione

• Stesse regole della aritmetica decimale

0 1 1 1 1

1 0 1 0 0 1 - 0 0 1 1 1 1 = 0 1 1 0 1 0

prestito

Sottrazione Binaria

Minuendo Sottraendo Differenza Prestito

0 0 0

1 0 1

1 1 0

0 1 1 1

4110 - 1510 = 2610

(10)

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 19

Aritmetica binaria

110  101 = 110 000 110 11110

Prodotto Binario

• Prodotto

• Stesse regole della aritmetica decimale

a b prodotto

0 0 0

0 1 0

1 0 1

1 1 1

610

510 = 3010

• nei calcolatori la rappresentazione interna di un numero è finalizzata a rendere efficienti gli algoritmi per le operazioni

• in genere è usata codifica a lunghezza fissa

– l’insieme di numeri rappresentati è finito

• sono usati sistemi posizionali

RAPPRESENTAZIONE INTERNA DEI NUMERI

ad eccezione dei numeri interi positivi (caso banale), è effettuata una trasformazione del numero da

rappresentare in un altro numero “rappresentabile” ...

(11)

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 21

• insieme X dei numeri da rappresentare

– X è un intervallo di numeri interi o reali

• insiemeY dei numeri rappresentati

– Y è un intervallo finito

• trasformazione di un numero xX in un numero yY regola di trasformazione: y = R(x)

• rappresentazione in cifre (sistema posizionale) di y

• codifica in bit delle cifre

Trasformazione e codifica

Overflow e underflow

• overflow: tentativo di rappresentare un numero esterno all’intervallo

– se X è un intervallo di numeri interi allora Y deve avere almeno la stessa cardinalità

• underflow: un numero reale x  0 viene rappresentato da y = 0 – X è un intervallo di numeri reali, rappresentati da Y

(intervallo finito) con un’approssimazione

(12)

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 23

• Esempio di overflow:

Numero di bit per la rappresentazione: N = 4

1 1 1

1110 + 0111 = 10101

riporti

Somma Binaria

Il risultato è: 0101

ERRATO in quanto si ha overflow e si perde la cifra più significativa (quella in rosso)

Parametri di un sistema di rappresentazione

• intervallo numerico e tipo del numero x da rappresentare

• regola di trasformazione y = R(x)

• condizione di overflow

• approssimazione

e condizione di underflow

(solo per i reali)

NB: se la base della numerazione della

trasformazione non è binaria, la codifica del numero in binario è indiretta ...

• base di numerazione

• codifica delle cifre in binario

(se la base della numerazione è diversa da 2)

(13)

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 25

• Y ed X coincidono,

• Numeri rappresentabili: 0  y < M

• M = bn

• b è la base di numerazione

– in pratica 2, 8, 16 … ma anche 10

• rappresentazione ad n cifre :

– Cn-1 Cn-2 ....C0 , dove 0  Ci < b

• condizione di overflow: x  M

I numeri naturali

Rappresentazione con Aritmetica decimale

• Un numero viene rappresentato da d cifre decimali

• L’intervallo rappresentato è: 0  y < 10d

• per ogni cifra decimale si adotta una rappresentazione con k bit per cifra: il numero è rappresentato da k  d bit

– ad esempio, per d = 4, l’intervallo è [0, 9999);

– adottando un sistema 8-4-2-1 (k = 4) un numero è rappresentato da 16 bit

– il numero 8012 è rappresentato dalla stringa 1000 0000 0001 0010

(codifica indiretta di un numero in binario: l’alfabeto codice intermedio è costituito dalle codifica delle singole cifre decimali)

(14)

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 27

• poiché si adotta la codifica a lunghezza fissa ad n cifre (k bit),

– rappresentazioni estese a sinistra

– esempi: n=5, b=10 25410 ==> 0025410 n=5, b=2 410 ==> 001002

il tentativo di rappresentare 32 … :

0 0 1 0 0

1 0 0 0 0 0

… overflow

Interi relativi: rappresentazione in segno e modulo ...

• Intervallo: x (-M , M)

• rappresentazione (tradizionale) in segno e modulo: s, y

– s = sign(x) --- y = |x|

• condizione di overflow: |x|  M

• n cifre per rappresentare il suo modulo e una cifra che precede le altre per rappresentare il segno

- in aritmetica binaria s = sign(x) è rappresentata da un bit:

s = 1 se x < 0; s = 0 se x  0

s y

15 14 0

x (-215, 215) intervallo aperto

(15)

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 29

... vantaggi e svantaggi

• vantaggio: coincide con la nostra usuale rappresentazione

• svantaggio: richiede il trattamento separato di segno e modulo: algoritmi aritmetici più pesanti ...

... nei calcolatori, per ovviare agli svantaggi dell’aritmetica della rappresentazione in segno e modulo, si adottano altre rappresentazioni ...

es. complemento a uno

Rappresentazione di reali:

virgola fissa

• virgola fissa (fixed point): rappresentazione di numeri con n cifre, nella quale la posizione della virgola (o punto decimale) che separa la parte intera da quella frazionaria è predeterminata:

Es.: n cifre intere + m decimali

Cn-1 Cn-2 ...C1 C0 . C-1 C-2... C-m

• nella rappresentazione dei numeri frazionari (|x| < 1) la virgola è in prima posizione: .078900

- se la virgola occupa una posizione fissa, non necessita di essere rappresentata esplicitamente ...

(16)

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 31

• virgola mobile (floating point): un numero reale x è rappresentato mediante la coppia (M, E), dove:

- x = M ·bE  

- M è un numero frazionario o intero detto mantissa - E è un numero intero detto esponente o caratteristica - b è la base della numerazione (binaria nei calcolatori) -  è l’approssimazione della rappresentazione

…. più ‘coppie’ Mantissa, Esponente Es.: dato il reale 13,78 (virgola fissa)

• 1,378 ·101

• 137,8 · 10-1

• 0,1378 · 102 (normalizzata) è quella comunemente usata

Rappresentazione di reali: virgola mobile

Riferimenti

Documenti correlati

La pubblicazione dell’atto all’albo, salve le garanzie previste dalla Legge n. 241/1990 in tema di accesso ai documenti amministrativi, avviene nel rispetto della tutela della

Una tensione continua e in- sopprimibile che arricchisce il con- fronto fino ad accompagnarci lungo un itinerario colmo di interrogativi inevasi: dalla crisi della nazione del

Il foglio con il testo, compilato con cognome, nome e numero di matricola, va consegnato assieme alla bella copia.. Non si consegnano

[r]

Consensus Conference « Linee di indirizzo per l’utilizzo della medicina narrativa in ambito clinico-assistenziale, per le malattie rare e cronico-degenerative».. 11-12-13 Giugno 2014

La cartella parallela si concentra sugli aspetti relazionali, includendo il medico e la sua esperienza nella narrazione della storia di malattia del

La storia a volte inizia come un case report, il linguaggio è molto semplice, con il passare del tempo si trasforma, può diventare più tecnico, ma più profondo e

[r]