• Non ci sono risultati.

Notadi Copyright

N/A
N/A
Protected

Academic year: 2021

Condividi "Notadi Copyright"

Copied!
4
0
0

Testo completo

(1)

Fondamenti di Informatica

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1

FONDAMENTI DI INFORMATICA

Prof. PIER LUCA MONTESSORO

Facoltà di Ingegneria Università degli Studi di Udine

Esercizi sulla codifica dei numeri

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 2 Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e dalle disposizioni dei trattati internazionali. Il titolo ed i copyright relativi alle slides (ivi inclusi, ma non limitatamente, ogni immagine, fotografia, animazione, video, audio, musica e testo) sono di proprietà dell’autore prof. Pier Luca Montessoro, Università degli Studi di Udine.

Le slide possono essere riprodotte ed utilizzate liberamente dagli istituti di ricerca, scolastici ed universitari afferenti al Ministero della Pubblica Istruzione e al Ministero dell’Università e Ricerca Scientifica e Tecnologica, per scopi istituzionali, non a fine di lucro. In tal caso non è richiesta alcuna autorizzazione.

Ogni altro utilizzo o riproduzione (ivi incluse, ma non limitatamente, le riproduzioni su supporti magnetici, su reti di calcolatori e stampe) in toto o in parte è vietata, se non esplicitamente autorizzata per iscritto, a priori, da parte dell’autore.

L’informazione contenuta in queste slide è ritenuta essere accurata alla data della pubblicazione. Essa è fornita per scopi meramente didattici e non per essere utilizzata in progetti di impianti, prodotti, reti, ecc. In ogni caso essa è soggetta a cambiamenti senza preavviso. L’autore non assume alcuna responsabilità per il contenuto di queste slide (ivi incluse, ma non limitatamente, la correttezza, completezza, applicabilità, aggiornamento dell’informazione).

In ogni caso non può essere dichiarata conformità all’informazione contenuta in queste slide.

In ogni caso questa nota di copyright e il suo richiamo in calce ad ogni slide non devono mai essere rimossi e devono essere riportati anche in utilizzi parziali.

Nota di Copyright

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 3

Conversione dalla base 2 alla base 10 Convertire in base 10 il numero (1101) 2

a) considerando la rappresentazione in binario puro

b) considerando la rappresentazione in complemento a 2 su 4 bit

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 4

Conversione dalla base 10 alla base 2 Convertire in base 2 il numero (35) 10

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 5

Conversione dalla base 2 alla base 10 Convertire in base 10 il numero (.1101) 2

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 6

Conversione

dalla base 2 alla base 10

Quanti bit sono necessari per

rappresentare il numero 273 10 ?

E quanti byte?

(2)

Fondamenti di Informatica

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 2

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 7

Conversioni di base

• Si converta il numero 29 10 in base 3

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 8

Conversioni di base

• Si converta il numero -29 10 in esadecimale su 8 bit

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 9

Conversioni di base

• Convertire in base 3 il numero 0.3 10

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 10

Conversioni di base

• Si converta il numero 1104 5 in decimale

• Si converta il numero 0.23 10 in base 5

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 11

Conversioni di base

• Si converta il numero 12.3 10 in base 3

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 12

Conversioni di base

• Convertire il numero 3218 10 in BCD

(3)

Fondamenti di Informatica

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 3

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 13

Operazioni

• Si calcoli il risultato della seguente operazione effettuata su un elaboratore a 8 bit che opera in complemento a 2:

7F h + FF h = ?

• Il risultato ottenuto è corretto?

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 14

Operazioni

• Si calcoli il risultato delle seguenti operazioni effettuata su un elaboratore a 16 bit che opera in complemento a 2:

0001 h + FFFF h = FFFF h + FFFF h = 8000 h + FFFF h = 8000 h + 7FFF h = 0008 h + 000F h = 0008 h + 7FFF h =

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 15

Operazioni

• In quale base è corretta l’espressione AB + 1 = B0?

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 16

Operazioni

• Si esegua la seguente operazione su 8 bit in complemento a 2 e si rappresenti il risultato in esadecimale:

-40 10 + 14 10

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 17

Rappresentazione floating point

• Una variabile reale con

rappresentazione in floating point, singola precisione, eccesso 127, contiene il valore BD000000. Quanto vale il numero reale da essa

rappresentato?

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 18

Programma per conversione a base generica

Si scriva un programma in linguaggio C

che converta un numero reale in una

base qualsiasi (compresa tra 2 e 16). La

precisione massima richiesta è 10 -15 .

(4)

Fondamenti di Informatica

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 4

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 19

Conversione a base generica

C:\>cbase

base di destinazione (2-16): 4 numero (>= 0): 7

13 C:\>cbase

base di destinazione (2-16): 2 numero (>= 0): 7.5

111.1 C:\>cbase

base di destinazione (2-16): 3 numero (>= 0): .1

0.00220022002200220022002200220022 C:\>cbase

base di destinazione (2-16): 2 numero (>= 0): .3

0.01001100110011001100110011001100110011001100110011

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 20

Programma per conversione a base generica Suggerimenti

• per separare la parte intera e la parte frazionaria di un numero reale:

double modf(double VAL, double *IPART)

• per invertire l’ordine di elaborazione delle cifre:

“stack” o “pila”

(struttura dati LIFO: Last In First Out)

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 21

Stack

PUSH POP

funzioni di controllo:

full() empty()

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 22

Stack: semplice implementazione in linguaggio C

• I dati sono memorizzati in un vettore

• Una variabile memorizza l’indice del vettore corrispondente alla prima posizione vuota

#define STSIZE 128 int st[STSIZE];

int sp = 0;

void push (int n);

int pop (void);

int empty (void);

int full (void);

variabili globali

prototipi delle funzioni

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 23

Stack: semplice implementazione in linguaggio C

Funzioni:

void push(int n) {

st[sp++] = n;

return;

}

int pop (void) {

return st[--sp];

}

int empty (void) {

return (sp == 0);

}

int full(void) {

return (sp == STSIZE);

}

Riferimenti

Documenti correlati

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 2 Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 2 Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 2 Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e

© 2001 Pier Luca Montessoro, Elio Toppano (si veda la nota di copyright alla slide n. 2) 2 Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 2 Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 2 Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 2 Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 2 Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e