Che materia stai cercando?

Anteprima

ESTRATTO DOCUMENTO

0000 = 0 = 0 = 0

2 10 8 16

0001 = 1 = 1 = 1

2 10 8 16

0010 = 2 = 2 = 2

2 10 8 16

0011 = 3 = 3 = 3

2 10 8 16

0100 = 4 = 4 = 4

2 10 8 16

0101 = 5 = 5 = 5

2 10 8 16

0110 = 6 = 6 = 6

2 10 8 16

0111 = 7 = 7 = 7

2 10 8 16

1000 = 8 = 10 = 8

2 10 8 16

1001 = 9 = 11 = 9

2 10 8 16

1010 = 10 = 12 = A

2 10 8 16

1011 = 11 = 13 = B

2 10 8 16

1100 = 12 = 14 = C

2 10 8 16

1101 = 13 = 15 = D

2 10 8 16

1110 = 14 = 16 = E

2 10 8 16

1111 = 15 = 17 = F

2 10 8 16 27

Regola 2

(delle divisioni successive)

Svolge le operazioni nella base di partenza b, per cui è molto adatta

 al caso in cui b=10

sull’osservazione b’:

Si basa che, dividendo il numero per

 il resto della divisione corrisponde alla cifra meno significativa del numero

 b’

nella base

il quoziente della divisione corrisponde al numero ottenuto cancellando la

 b’

cifra meno significativa dal numero di partenza espresso in base

le cifre più significative possono essere quindi determinate riapplicando

 ricorsivamente lo stesso metodo al quoziente

Esempio

357:10 è pari a 35 con resto 7

35:10 è pari a 3 con resto 5

3:10 è pari a 0 con resto 3 28

Regola 2:

si determinano il quoziente ed il resto della divisione del numero per

1. b’

si prosegue come al passo 1. considerando di volta in volta come

2. numero di partenza il quoziente della divisione effettuata nel passo

precedente, finché non si determina un quoziente nullo

si scrivono tutti i resti ottenuti in ordine inverso, esprimendoli nella

3. b’

base (solitamente banale)

NB:

il primo resto ottenuto (al passo 1.) corrisponde alla cifra meno

 l’ultimo

significativa, mentre a quella più significativa

b’<b b’

se tutti i resti ottenuti sono già espressi nella base

 29

Esempi (1/3) 3226 (b=10 e b’=16)

37 (b=10 e b’=2) 2)

1) 3226:16 = 201 con resto 10 (A)

37:2 = 18 con resto 1 201:16 = 12 con resto 9 (9)

18:2 = 9 con resto 0 12:16 = 0 con resto 12 (C)

9:2 = 4 con resto 1

4:2 = 2 con resto 0

2:2 = 1 con resto 0

1:2 = 0 con resto 1 Quindi 3226=C9A

Quindi 37=100101 16

2

Controprova:

5 4 3 2 1 0

1x2 + 0x2 + 0x2 + 1x2 + 0x2 + 1x2 = 37 10 30

Esempi (2/3)

331 (b=10 e b’=2) 331 (b=10 e b’=8)

3) 4)

331:2 = 165 con resto 1 331:8 = 41 con resto 3

165:2 = 82 con resto 1 41:8 = 5 con resto 1

82:2 = 41 con resto 0 5:8 = 0 con resto 5

41:2 = 20 con resto 1

20:2 = 10 con resto 0

10:2 = 5 con resto 0

5:2 = 2 con resto 1

2:2 = 1 con resto 0

1:2 = 0 con resto 1 31

Quindi 331 =101001011 Quindi 331 = 513

10 2 10 8 3

Le BASI, 8 e 16 sono potenze di 2 (8=2 e

 4

16=2 )

Data la configurazione binaria c raggruppare le

 cifre in pacchetti di 3 (base 8) o in pacchetti di

4 (base 16) partendo da destra

Esempio:

 101001011 2 101001011 = 513

2 8

5 3

1 101001011 = 14B 32

2 16

1 =1 4 =4 11 =B

10 16 10 16 10 16

Se abbiamo la configurazione 14B e

 16

vogliamo sapere quella binaria rappresento

ogni cifra esadecimale con 4 bit

14B = 101001011

16 2

0001

2 1011

2

0100

2 33

Se abbiamo la configurazione 513 e

 8

vogliamo sapere quella binaria rappresento

ogni cifra esadecimale con 3 bit

513 = 101001011

8 2

101

2 011

2

001

2 34

Codifica numeri naturali

l’unità

Poiché elementare di informazione in un elaboratore è il bit, che

 corrisponde alle due cifre 0 e 1, in modo naturale viene utilizzato il

sistema di numerazione posizionale in base 2

Fissato il numero di bit k da utilizzare nella rappresentazione

 si converte il numero di partenza nella base 2

1. si antepongono bit uguali a 0 al numero determinato fino ad

2. ottenere complessivamente esattamente k bit

l’aggiunta

NB: dei bit pari a 0 nel passo 2. è necessaria perché nella

memorizzazione del numero bisogna specificare per ogni bit (anche

per i più significativi che convenzionalmente non indichiamo quando

pari a 0) lo stato del relativo dispositivo bistabile; in caso contrario si

potrebbero avere errori di rappresentazione. 35

Esempio

43 (con k=8 e b’=2)

- 43:2 = 21 con resto 1

21:2 = 10 con resto 1

10:2 = 5 con resto 0

5:2 = 2 con resto 1

2:2 = 1 con resto 0

1:2 = 0 con resto 1

Quindi 43=101011 , la cui rappresentazione a 8 bit è

2

00101011 36

Chiaramente, fissato il numero di bit k, è possibile

 k

rapprentare al più 2 numeri interi, che vanno da 0

k

(0…0) a 2 -1 (1…1)

l’intervallo

Quindi, dei numeri rappresentabile con k

 k

bit è [0,2 -1]

Overflow: errore che si verifica quando si tenta di

 dell’intervallo,

rappresentare un numero al di fuori un’operazione

ad esempio quando il risultato di

aritmetica è troppo grande 37

Codifica numeri interi

(positivi e negativi)

Esistono diverse codifiche

 Tra le più note:

 rappresentazione in modulo e segno

 più semplice e diretta

rappresentazione in complemento a 2

 ha il pregio di poter effettuare somme algebriche, ossia la

 sottrazione a-b equivale ad effettuare la somma a+(-b)

a livello di circuteria elettronica ciò consente di poter

 effettuare somme e sottrazioni in modo unificato tramite un

unico dispositivo sommatore che opera sulle codifiche di a e

b

Rappresentazione in modulo e segno a k bit :

 1 bit per il segno, solitamente il più significativo posto a 0

 –

per indicare il segno + e ad 1 per indicare il segno

k-1 bit per il modulo o valore assoluto, secondo la codifica

 dei numeri naturali

L’intervallo dei numeri rappresentabili quindi è

 k-1 k-1

[-(2 -1), 2 -1]

Si noti che esistono due codifiche possibili per il numero 0,

 ossia 00…0 (corrispondente a +0) e 10…0 (corrispondente a

-0)

Esempio 1

Rappresentazione in segno e modulo su tre bit

Interi Segno/modulo

-4 -

-3 111

-2 110

-1 101

-0 100

+0 000

+1 001

+2 010

+3 011

Esempio 2

Rappresentazione in modulo e segno a k=8 bit dei numeri 26 e -26

26:2 = 13 con resto 0

13:2 = 6 con resto 1

6:2 = 3 con resto 0

3:2 = 1 con resto 1

1:2 = 0 con resto 1

Quindi 26=11010 , per cui

2

rappresentazione di 26: 00011010

1. rappresentazione di -26: 10011010

2. Codifica numeri frazionari

(reali compresi tra 0 ed 1)

I numeri frazionari sono reali N t.c. 0 < N < 1

 Non sono rappresentabili in maniera precisa

 in quanto per farlo servirebbero un numero

infinito di cifre (e quindi di bit)

Estendendo quanto detto per i sistemi di numerazione alla parte

 del numero dopo la virgola si ha che 

   n

              

1 2 n i

N = 0

, a a a a 10 a 10 a 10 a 10

     

10  

1 2 n 1 2 n i

i 1

-1 -2 -3

Es. 0,587 = (5 x 10 + 8 x 10 + 7 x 10 )

10

Per una generica base b

 

  n

            

1 n i

N = (

0

, a a ) a b a b a b ( 2

)

   

b  

1 n b 1 n i

i 1

Il peso delle cifre a dipende dalla base prescelta

i

nel sistema di numerazione

Come convertire un numero frazionario in

 b’≠

base b nel suo equivalente in una base

b?

Di nuovo abbiamo due regole generali che

 effettuano le operazioni aritmetiche coinvolte

rispettivamente nella base partenza b e nella

b’

base di arrivo

Regola 1: b’,

svolge le operazioni nella base di arrivo per cui è

 b’=10

molto adatta al caso in cui

nell’applicare

consiste in modo diretto la

 sommatoria (2) nel seguente modo: b’

si esprimono le cifre a e la base b nella base

1. i

(solitamente banale)

si calcola la sommatoria (2)

2.

Esempi

0,1101 =

1. 2 -1 -2 -3+ -4

=1·2 +1·2 +0·2 1·2 =

=1/2 + 1/4 + 1/16=0.8125 10

0,1011 =

2. 2 -1 -2 -3 -4

= 1 · 2 + 0 · 2 + 1 · 2 + 1 · 2 =

= 1/2 + 1/8 + 1/16 = 0,6875 10

0,452 =

3. 8 -1 -2 -3

= 4·8 +5·8 +2·8 =

= 4/8+5/64+2/512=0,582031252 10

0,1A8 =

4. 16 -1 -2 -3

= 1·16 +10·16 +8·16 =

=1/16+10/256+8/4096=0,103515625 10

Regola 2 (delle moltiplicazioni successive):

svolge le operazione nella base di partenza b, per cui è molto adatta al caso in cui

 b=10 sull’osservazione b’:

si basa che, moltiplicando il numero per

 la parte intera corrisponde alla prima cifra dopo la virgola del numero nella base

 b’

la parte frazionaria al numero ottenuto cancellando la prima cifra dopo la virgola

 b’

dal numero di partenza espresso in base

le cifre successive alla prima dopo la virgola possono essere quindi determinate

 riapplicando ricorsivamente lo stesso metodo alla parte frazionaria

Esempio

0.623·10 = 6.23, ossia parte intera 6 e frazionaria 0.23

0.23·10 = 2.3, ossia parte intera 2 e frazionaria 0. 3

0.3·10 = 3, ossia parte intera 3 e frazionaria 0

Regola 2:

si determinano la parte intera a frazionaria della moltiplicazione

1. b’

del numero per

si prosegue come al passo 1. considerando di volta in volta

2. come numero di partenza la parte frazionaria della

moltiplicazione effettuata nel passo precedente, finché non si

determina una parte frazionaria nulla

nell’ordine

si scrivono tutte le parti intere in cui sono state

3. b’

ottenute, esprimendole nella base (solitamente banale)

NB: la prima parte intera ottenuta (al passo 1.) corrisponde alla

 l’ultima

prima cifra dopo la virgola, mentre a quella più lontana

b’<b

se tutte le parti intere ottenute sono già espresse nella

 b’

base

Esempi 2) 0.84375 (b=10 e b’=16)

1) 0.375 (b=10 e b’=2) 0.84375·16 = 13 (D) + 0.5

0.375 ·2 = 0 + 0.75 0.5 ·16 = 8 (8) + 0

0.75 ·2 = 1 + 0.5

0.5 ·2 = 1 + 0 Quindi 0.84375 =0,D8

Quindi 0.375 =0,011 16

2

Nota

I numeri frazionari possono introdurre

 approssimazioni dovute alla presenza di un

numero limitato di cifre dopo la virgola

L’approssimazione è comunque inferiore a

 -n

b dove n è il numero di cifre utilizzate

Esempio 1

1) 0.587 (b=10 e b’=2)

0.587 · 2 = 1 + 0.174

0.174 · 2 = 0 + 0.348

0.348 · 2 = 0 + 0.696

·

0.696 2 = 1 + 0.392

·

0.392 2 = 0 + 0.784 -4

0.587 = 0.1001 (approssimazione < 2 )

10 2

·

0.784 2 = 1 + 0.568

·

0.568 2 = 1 + 0.136

… -7

0.587 = 0.1001011 (approssimazione < 2 )

10 2

Esempio 2

2) 0.35 (b=10 e b’=2)

0.35 · 2 = 0 + 0.7

0.7 · 2 = 1 + 0.4 -m

0.35 = 0.010110... (approssimazione < 2 )

10 2

0.4 · 2 = 0 + 0.8 m m

·

0.8 2 = 1 + 0.6

·

0.6 2 = 1 + 0.2

·

0.2 2 = 0 + 0.4

·

0.4 2 = 0+ 0.8

… Per codificare i numeri frazionari di nuovo viene utilizzato il

 sistema di numerazione posizionale in base 2

Fissato il numero di bit k da utilizzare nella rappresentazione

 si converte il numero di partenza nella base 2

1. si considerano solo i primi k bit dopo la virgola, eventualmente

2. tagliando i rimanenti o aggiungendo bit uguali a 0 alla parte

finale fino ad ottenere complessivamente esattamente k bit

NB: non è necessario rappresentare lo 0 iniziale e la virgola,

perché sono comuni a tutti i numeri frazionari

Esempi (k=4) 2) 0.84375 = 0,11011

1) 0.375 = 0,011 2

2 1101

0110


PAGINE

64

PESO

1.10 MB

AUTORE

Atreyu

PUBBLICATO

+1 anno fa


DETTAGLI
Esame: Informatica
Corso di laurea: Corso di laurea in biotecnologie
SSD:
Università: L'Aquila - Univaq
A.A.: 2011-2012

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Atreyu di informazioni apprese con la frequenza delle lezioni 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à L'Aquila - Univaq o del prof Di Ruscio Davide.

Acquista con carta o conto PayPal

Scarica il file tutte le volte che vuoi

Paga con un conto PayPal per usufruire della garanzia Soddisfatto o rimborsato

Recensioni
Ti è piaciuto questo appunto? Valutalo!

Altri appunti di Informatica

Hardware e reti
Dispensa
Applicativi Software
Dispensa
Informatica - Concetti introduttivi
Dispensa