Programmazione I Paolo Valente /2017. Lezione 6. Notazione posizionale

Documenti analoghi
1.2f: Operazioni Binarie

Rappresentazione di numeri relativi (interi con segno) Rappresentazione di numeri interi relativi (con N bit) Segno e Valore Assoluto

Codifica binaria. Rappresentazioni medianti basi diverse

Rappresentazione e Codifica dell Informazione

Lezioni di Informarica. Prof. Giovanni Occhipinti

Rappresentazione dell informazione

Conversione di base. Conversione decimale binario. Si calcolano i resti delle divisioni per due

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dei numeri relativi

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Informazione binaria: - codici binari, notazione binaria/ottale/esadecimale -

Calcolo numerico e programmazione Rappresentazione dei numeri

La codifica digitale

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Soluzioni Esercizi su rappresentazione binaria dell informazione

Cap. 2 - Rappresentazione in base 2 dei numeri interi

I.4 Rappresentazione dell informazione

Informatica (Sistemi di elaborazione delle informazioni)

CONVERSIONE BINARIO DECIMALE NB: Convertire in decimale il numero binario N = N =

Numeri interi (+/-) Alfabeto binario. Modulo e segno

I sistemi di numerazione. Informatica - Classe 3ª, Modulo 1

Modulo e segno Complemento a 1 (CA1) Complemento a 2 (CA2)

Esercitazione del 2/3/2010- Numeri binari e conversione

Rappresentazione in complemento a 2: caratteristiche generali

Rappresentazione dei dati in memoria

Codifica dei Numeri. Informatica ICA (LC) 12 Novembre 2015 Giacomo Boracchi

Unità aritmetica e logica

Abilità Informatiche e Telematiche

Informatica di Base - 6 c.f.u.

Corso di Architettura degli Elaboratori

LA TRASMISSIONE DELLE INFORMAZIONI SECONDA PARTE 1

APPUNTI DI INFORMATICA

Rappresentazione dei Numeri

Codifica binaria dei dati numerici: i numeri naturali

Analogico vs. Digitale. LEZIONE II La codifica binaria. Analogico vs digitale. Analogico. Digitale

Rappresentazione di numeri interi

Lezione 3. I numeri relativi

La codifica. dell informazione

Somma di numeri binari

Rappresentazione dei numeri interi in un calcolatore

Algoritmi Istruzioni che operano su dati. Per scrivere un programma è necessario. che l esecutore automatico sia in grado di.

Esercitazione del 09/03/ Soluzioni

modificato da andynaz Cambiamenti di base Tecniche Informatiche di Base

Lezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari

Laboratorio del 21/10/2010- Numeri binari e conversione

Rappresentazione dei Dati

LA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2

Codifica. Rappresentazione di numeri in memoria

Calcolo numerico e programmazione Rappresentazione dei numeri

Appunti di informatica. Lezione 3 anno accademico Mario Verdicchio

Seconda lezione. Rivediamo un po di definizioni principali Proseguiremo con nuovi codici

I sistemi di numerazione e la numerazione binaria

Esercitazioni di Reti Logiche. Lezione 1 Rappresentazione dell'informazione. Zeynep KIZILTAN zkiziltan@deis.unibo.it

Rappresentazione numeri reali

Calcolatori Elettronici Parte III: Sistemi di Numerazione Binaria

04 Aritmetica del calcolatore

Rapida Nota sulla Rappresentazione dei Caratteri

Informatica. Mario Pavone - Dept. Mathematics & Computer Science - University of Catania. Trasferimento. Ambiente esterno.

Informatica Generale 1 - Esercitazioni Flowgraph, algebra di Boole e calcolo binario

Sistemi di Elaborazione delle Informazioni

Numeri interi positivi

Calcolatori: Sistemi di Numerazione

Appunti di informatica. Lezione 4 anno accademico Mario Verdicchio

Rappresentazioni numeriche

La codifica. dell informazione

Rappresentazione. Notazione in complemento a 2. Complemento a due su 3 e 4 bit Complemento a due

Sistemi di Numerazione Binaria

Somma di numeri floating point. Algoritmi di moltiplicazione e divisione per numeri interi

Rappresentazione dell informazione

Rappresentazione di Numeri Reali. Rappresentazione in virgola fissa (fixed-point) Rappresentazione in virgola fissa (fixed-point)

Sistemi di Numerazione Binaria

Architettura degli elaboratori - 2 -

Esercitazione Informatica I (Parte 1) AA Nicola Paoletti

Fondamenti di Informatica. per la Sicurezza. a.a. 2003/04. Calcolo binario. Stefano Ferrari

Fondamenti di Programmazione. Sistemi di rappresentazione

Aritmetica dei Calcolatori Elettronici

Corso di Sistemi di Elaborazione delle informazioni

I sistemi di Numerazione. Contenuti. Sistema Addizionale. Notes. Notes. Notes. Gasparotto Matteo. a.s Sistema Addizionale

Decimale, binaria,esadecimale

Appunti del corso di Informatica 1 (IN110 Fondamenti) 5 Rappresentazione delle informazioni

Sistemi di numerazione

Fondamenti di Informatica

Conversione binario-decimale. Interi unsigned in base 2. Esercitazioni su rappresentazione. dei numeri e aritmetica

Rappresentazione dell Informazione

Laboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011. Prof. Raffaele Nicolussi

Riassunto Nell'esercitazione di oggi e' stata introdotta la codifica binaria naturale, intera e razionale in virgola fissa. Il materiale teorico

Elementi di informatica

Sistemi di Numerazione Binaria

Numeri reali. Notazione scientifica (decimale) Floating Point. Normalizzazione. Esempi. Aritmetica del calcolatore (virgola mobile)

Aritmetica dei Calcolatori

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Rappresentazione dell Informazione

Conversioni di base: riassunto

Codifica dell informazione

Sistemi di numerazioni e metodi di trasformazione

Il sistema di numerazione posizionale decimale

Rappresentazione dei numeri binari.

Insegnamento Informatica CdS Scienze Giuridiche

La codifica binaria. Informatica B. Daniele Loiacono

Numeri frazionari. sistema posizionale. due modi: virgola fissa virgola mobile. posizionale, decimale

Aritmetica dei Calcolatori

Transcript:

Lezione 6 Notazione posizionale

Ci sono solo 10 tipi di persone al mondo: quelle che conoscono la rappresentazione dei numeri in base 2, e quelle che non la conoscono... Programmazione I Paolo Valente - 2016/2017 2

Base 2 Per capire fino in fondo come sono rappresentate le informazioni in un calcolatore occorre conoscere la rappresentazione dei numeri in base 2 Il motivo è che le informazioni sono rappresentate come sequenze di bit, ossia cifre con due soli possibili valori Programmazione I Paolo Valente - 2016/2017 3

4 Basi e cifre 1/2 Partiamo dalla rappresentazione di un numero in una generica base Cominciamo dalla rappresentazione dei numeri naturali

Basi e cifre 2/2 Rappresentazione di un numero in una data base: cifre Programmazione I Paolo Valente - 2016/2017 sequenza di Cifra: : simbolo rappresentante un numero Base: : numero (naturale) di valori possibili per ciascuna cifra In base b > 0 si utilizzano b cifre distinte, per rappresentare i valori 0, 1, 1 + 1, 1 + 1 + 1,..., b 1 5

Cifre e numeri in base 10 Es: in base 10 le cifre sono 0 che rappresenta il valore 0 1 che rappresenta il valore 1 2 che rappresenta il valore 1+1 3 che rappresenta il valore 1+1+1 Simbolo grafico Programmazione I Paolo Valente - 2016/2017... Concetto astratto di numero naturale 9 che rappresenta il valore 1+1+1+1+1+1+1+1+1 6

7 Notazione posizionale Rappresentazione di un numero su n cifre in base b: a a a... a a n-1 n-2 n-3 1 0 a e {0, 1,..., i Posizioni {0, 1,..., b - 1} Es: Notazione decimale: b = 10, a e {0, 1, 2,..., 9} i 345 => a = 3, a = 4, a = 5 2 1 0

8 Notazione Per rendere esplicita la base utilizzata, si può utilizzare la notazione [ x ] b a e {0, 1,..., b - 1} i dove x è una qualsiasi espressione, ed il cui significato è che ogni numero presente nell'espressione è rappresentato in base b

9 Esempi in base 10 [ 345 ] 10 [ 2 * 10 + 5 * 1 ] 10

10 Notazione posizionale [ a a a... a a ] = n-1 n-2 n-3 1 0 b [a 0 *1 + a 1 *b + a 2 *b 2 + a 3 *b 3 +... + a n-1 n-1 *b n-1 ] b = [ a * b i ] i=0, 1,..., n-1 i b Peso cifra i-esima Es: b = 10, a e {0, 1, 2,..., 9} i [ 345 ] 10 = [3 * 10 2 + 4 * 10 + 5 * 1] 10 yo cuento como un cero a la izquierda io conto come uno zero a sinistra

11 Calcoli Si utilizzano degli algoritmi Esattamente quelli imparati alle elementari per la base 10 Esempio: per sommare due numeri, si sommano le cifre a partire da destra e si utilizza il riporto

Notazione binaria Base 2, 2 cifre: 0, 1 La cifra nella posizione i-esima ha peso 2 i Esempi (configurazioni( di bit): [0] 10 = [0] 2 [1] 10 = [1] 2 [2] 10 = [10] 2 = [1*2 + 0*1] 10 [3] 10 = [11] 2 = [1*2 + 1*1] 10 Programmazione I Paolo Valente - 2016/2017 12

13 Base 16 Una base che risulta spesso molto conveniente è la base 16 Vediamo prima di cosa si tratta, e poi come mai è molto utilizzata

Notazione esadecimale Base 16, 16 cifre: 0, 1, 2,..., 9, A, B, C, D, E, F Valore cifre in decimale: 0, 1, 2,..., 9, 10, 11, 12, 13, 14, 15 La cifra nella posizione i-esima ha peso 16 i Esempi: [0] 10 = [0] 16 [10] 10 = [A] 16 [18] 10 = [12] 16 = [1*16 + 2*1] 10 Programmazione I Paolo Valente - 2016/2017 14

15 Motivazione Base 16 1/3 Ogni cifra in base sedici corrisponde ad una delle possibili combinazioni di 4 cifre in base 2 Quindi, data la rappresentazione in base 2 di un numero naturale, la sua rappre- sentazione in base 16 si ottiene dividendo la sequenza in base in sotto-sequenze consecutive da 4 cifre ciascuna, partendo da destra, e convertendo ciascuna sotto- sequenza di quattro cifre binarie nella corrispondente cifra in base 16

16 Motivazione Base 16 2/3 Esempio: Dato il numero [1000001111] 2 Dividiamo le cifre in gruppi da quattro da destra: 10 0000 1111 ed aggiungiamo due zeri all'inizio (senza modificare il valore del numero): 0010 0000 1111 In base 16 otteniamo: 2 0 F

17 Motivazione Base 16 3/3 Viceversa, data la rappresentazione in base 16 di un numero naturale, il corrispondente numero in base 2 si ottiene convertendo semplicemente ciascuna cifra della rappresentazione in base 16 nella corrispondente sequenza di 4 cifre in base 2 Invertendo il precedente esempio: [20F] 16 = [1000001111] 2

18 Rappresentazione naturali In una cella di memoria o in una sequenza di celle di memoria si può memorizzare con facilità un numero naturale memorizzando la configurazione di bit corrispondente alla sua rappresentazione in base 2 Questa è la tipica modalità con cui sono memorizzati i numeri naturali Coincide con gli esempi che abbiamo già visto in lezioni precedenti

19 Rappresentazione interi 1/2 Come rappresentare però numeri con segno? Non esiste un elemento all'interno delle celle, che sia destinato a memorizzare il segno Come potremmo cavarcela?

20 Rappresentazione interi 2/2 Un'idea sarebbe quella di utilizzare uno dei bit per il segno 0 per i valori positivi 1 per i valori negativi Il problema è che sprechiamo una configurazione di bit, perché avremmo due diverse rappresentazioni per il numero 0 Una col segno positivo Una col segno negativo

Complemento a 2 1/2 Per ovviare a questo problema, i numeri con segno sono tipicamente rappresentati in complemento a 2 Se n è un numero maggiore di 0, si memorizza la sua rappresentazione in base 2 Se n è un numero minore di 0, allora, anziché memorizzare il numero originale n,, si memorizza, utilizzando semplicemente la base 2, il numero naturale risultante dalla somma algebrica 2 N + n dove N è il numero di bit su cui si intende memorizzare il numero Programmazione I Paolo Valente - 2016/2017 21

22 Complemento a 2 2/2 Il vincolo è che il risultato della somma 2 N + n deve essere un numero positivo deve essere rappresentabile su N bit Facendo i conti, si ottiene che n deve essere contenuto nell'intervallo [-2 N-1 [-2-1, 2 N-1-1]

23 Vantaggi del complemento a 2 C'è una sola rappresentazione per lo 0 Gli algoritmi di calcolo delle operazioni di somma, sottrazione, moltiplicazione e divisione sono gli stessi dei numeri naturali rappresentati in base 2

Nota 1/2 Senza entrare in ulteriori dettagli, nella rappresentazione in complemento a 2 una sequenza di N bit che rappresenta un numero intero negativo ha sempre il bit più a sinistra uguale ad 1 la rappresentazione di un numero naturale su N bit è uguale alla sua rappresentazione in base 2 Programmazione I Paolo Valente - 2016/2017 24

25 Nota 2/2 Quindi una configurazione di N bit con il bit più a sinistra ad 1 rappresenta un valore positivo se sta rappresentando un numero naturale in base 2 un valore negativo se sta rappresentando un numero in complemento a 2

26 Rappresentazione int Gli oggetti di tipo int sono tipicamente rappresentati in complemento a 2 Adesso dovrebbe esservi più chiaro perché è vero che: Ci sono solo 10 tipi di persone al mondo: quelle che conoscono la rappresentazione dei numeri in base 2, e quelle che non la conoscono

27 Esercizi Completare la quinta esercitazione