Memorizzazione dei dati

Documenti analoghi
Numeri interi. Laboratorio di Calcolo Paola Gallo

Introduzione ai sistemi informatici 1

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

1.2f: Operazioni Binarie

Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari. Copyright 2005 The McGraw-Hill Companies srl

L'Informazione e la sua Codifica. Maurizio Palesi

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

Analogico vs digitale

Codifica binaria dell informazione

Sistemi di Elaborazione delle Informazioni

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

Codifica binaria dei dati numerici: i numeri naturali

Suono digitale. Ø Un secondo di musica stereo richiede 44'100 campioni di 16 bit (2 byte) ciascuno per due canali, quindi 176'400 byte.

Codifica binaria. Rappresentazioni medianti basi diverse

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

Codifica dati e istruzioni. Lezione 9. Codifica dati e istruzioni. Codifica dati e istruzioni. Codifica binaria dell informazione

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

L'informazione e la sua codifica

L'Informazione e la sua Codifica. Maurizio Palesi

RAPPRESENTAZIONE DELLE INFORMAZIONI

Somma di numeri binari

Rappresentazione di dati: numerazione binaria. Appunti per la cl. 3 Di A cura del prof. Ing. Mario Catalano

Informatica. Rappresentazione binaria Per esempio diventa /10/2007. Introduzione ai sistemi informatici 1

Rappresentazione dell informazione

La codifica. dell informazione

Codifica dell Informazione

La codifica dell informazione

Codifica di informazioni numeriche

Calcolatori Elettronici Parte III: Sistemi di Numerazione Binaria

Calcolo numerico e programmazione Rappresentazione dei numeri

Codice binario. Codice. Codifica - numeri naturali. Codifica - numeri naturali. Alfabeto binario: costituito da due simboli

Informatica di Base - 6 c.f.u.

Introduzione e Nozioni di Base. Prof. Thomas Casali

Aritmetica dei Calcolatori Elettronici

Codifica dell Informazione

La codifica. dell informazione

Tecnologie per il web e lo sviluppo multimediale. Rappresentazione delle informazioni

Rappresentazione delle Informazioni. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni

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

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

Sistemi di Numerazione Binaria

Rappresentazione dell Informazione

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono

Esame di Informatica. Facoltà di Scienze Motorie LE UNITA DI MISURA (1/4) LE UNITA DI MISURA (3/4) LE UNITA DI MISURA (2/4) Lezione 2

Introduzione. Elementi di Informatica. Sistemi di Numerazione Addizionali. Sistemi di Numerazione. Sistemi di Numerazione Romano

Rappresentazione dei dati in memoria

I.4 Rappresentazione dell informazione

Programma del corso. Rappresentazione delle Informazioni. Introduzione agli algoritmi. Architettura del calcolatore

Codifica di Dati e Istruzioni. Architetture dei Calcolatori (Lettere. Sistema di Codifica: Numeri Interi (Decimali) Sistemi di Codifica.

Calcolatori Elettronici Parte II: Sistemi di Numerazione Binaria. Prof. Riccardo Torlone Università di Roma Tre

Argomenti trattati. Informazione Codifica Tipo di un dato Rappresentazione dei numeri Rappresentazione dei caratteri e di altre informazioni

Rappresentazione binaria delle informazioni oppure Rappresentazione digitale delle informazioni

La codifica binaria. Informatica B. Daniele Loiacono

Rappresentazione e Codifica dell Informazione

Sistema Numerico Decimale

Fondamenti di Programmazione. Sistemi di rappresentazione

Sommario. I Sistemi di numerazione Posizionale e non Posizionale (1/2) I Codici. I Codici I Sistemi di numerazione Posizionali e non posizionali

Rapida Nota sulla Rappresentazione dei Caratteri

La codifica digitale

La codifica binaria. Informatica B. Daniele Loiacono

Abilità Informatiche e Telematiche

Codifica. Rappresentazione di numeri in memoria

La "macchina" da calcolo

Aritmetica dei Calcolatori

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

Pag. 1. La Rappresentazione e la Codifica delle informazioni (parte 2) Tipi di dati. Informatica Facoltà di Medicina Veterinaria

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

Fondamenti di Programmazione. Sistemi di rappresentazione

modificato da andynaz Cambiamenti di base Tecniche Informatiche di Base

Rappresentazione numeri relativi e reali

Programma del corso. Rappresentazione delle Informazioni. Introduzione agli algoritmi. Architettura del calcolatore. Elementi di Programmazione

Corso di Architettura degli Elaboratori

Rappresentazione dei Dati

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

Un ripasso di aritmetica: Conversione dalla base 10 alla base 2

La Rappresentazione dell Informazione. Prof.Ing.S.Cavalieri

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

1.2 Concetti base dell Informatica: Informazione

Informatica. Informatica. Grandezze digitali. Grandezze analogiche

Il sistema binario: bit e Byte Codifica del testo Il Byte come U.d.M. dell'informazione Multipli del Byte

Rappresentazione dell informazione

Rappresentazione dell Informazione. Sistemi di Elaborazione delle Informazioni Rappresentazione Informazione 1

Definizione operativa di informazione. Codifica dell informazione. Alfabeto, sintassi e semantica. Codifica binaria dell informazione

Codifica dell informazione

Rappresentazione dei Numeri

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

Codifica e aritmetica binaria

Rappresentazione di numeri interi

Lezione 3. I numeri relativi

Corso di Laurea Ingegneria Civile Fondamenti di Informatica

Esercitazione Informatica I (Parte 1) AA Nicola Paoletti

Rappresentazione dei numeri naturali. La codifica associa alle informazioni dell alfabeto sorgente uno o più simboli dell alfabeto codice:

Capitolo 2 L informazione e la sua codifica. Informatica e Informazione La codifica dell informazione Analogico vs digitale

Rappresentazione informazione ed elementi di aritmetica dei computer

Rappresentazione dell'informazione

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

Un ripasso di aritmetica: Conversione dalla base 10 alla base 2

APPUNTI DI INFORMATICA

Calcolatore e unità di misura

Rappresentazione dei numeri in un calcolatore

Transcript:

Memorizzazione dei dati Argomento: rappresentazione e memorizzazione dei dati in un computer. I tipi di dati considerati includono testo, valori numerici, immagini, audio e video. 1 Brookshear Informatica XI ed Capitolo 1 l 00/00/00

Bit: Cifra binaria (0 o 1) Nei calcolatori l informazione è memorizzata come configurazione di 0 e 1 Bit sono utilizzati per rappresentare le informazioni: Numeri Caratteri Immagini Suoni E altro 2 Brookshear Informatica XI ed Capitolo 1 l 00/00/00

Operazioni booleane (da BOOLE, pioniere della logica): ASSOCIAZIONE: bit 0 rappresenta FALSO bit 1 rappresenta VERO Operazioni booleane sono operazioni che manipolano uno o più valori vero/falso AND, OR e XOR (or esclusivo). 3 Brookshear Informatica XI ed Capitolo 1 l 00/00/00

Porte logiche: Dispositivi che effettuano operazioni Booleane Spesso implementate come (piccoli) circuiti elettronici Forniscono gli elementi di base che costituiscono i computer 4 Brookshear Informatica XI ed Capitolo 1 l 00/00/00

Una rappresentazione delle porte AND, OR, XOR e NOT, e dei loro valori di ingresso e di uscita. 5 Brookshear Informatica XI ed Capitolo 1 l 00/00/00

Flip-flop: Un circuito formato da porte logiche che può memorizzare un bit. Ha una linea di input che imposta il suo valore di salvataggio a 1 Ha una linea di input che imposta il suo valore di salvataggio a 0 Se entrambi i valori di input sono a 0, viene conservato il più recente valore di memorizzazione Es. Un semplice circuito flip-flop. 6 Brookshear Informatica XI ed Capitolo 1 l 00/00/00

Impostazione a 1 dell uscita di un flip-flop. 7 Brookshear Informatica XI ed Capitolo 1 l 00/00/00

Un altro modo di costruire il flip-flop. 8 Brookshear Informatica XI ed Capitolo 1 l 00/00/00

Il sistema di codifica esadecimale. Notazione abbreviata per descrivere gli insiemi di bit lunghi Divide un insieme in gruppi di 4 bitciascuno Rappresenta ciascun gruppo attraverso un singolo simbolo Esempio: 10100011 diventa A3 9 Brookshear Informatica XI ed Capitolo 1 l 00/00/00

L organizzazione di una cella di memoria con dimensione di un byte (8 bit). Celle: Un unità di memoria principale (tipicamente 8 bit, che rappresenta un byte) Bit più significativo: il bit posizionato all estremità destra della riga concettuale di bit nella cella di memoria Bit meno significativo: il bit all estremità destra della riga concettuale di bit in una cella di memoria 1 0 Brookshear Informatica XI ed Capitolo 1 l 00/00/00

Indirizzo: Un nome che identifica univocamente una cella nella memoria principale del computer I nomi sono in realtà numeri Questi numeri sono assegnati consecutivamente a partire da zero Numerando le celle in questa maniera si associa un ordine alle celle di memoria Celle di memoria ordinate per indirizzo. 1 1 Brookshear Informatica XI ed Capitolo 1 l 00/00/00

1 2 Brookshear Informatica XI ed Capitolo 1 l 00/00/00

Codifica Binaria Usiamo solo due cifre 0,1 (bit) Problema: assegnare una sequenza di bit univoca a tutti gli oggetti in un insieme predefinito Quanti oggetti posso rappresentare con k bit: 1 bit 2 stati (0, 1) 2 oggetti 2 bit 4 stati (00, 01, 10, 11) 4 oggetti 3 bit 8 stati (000, 001,, 111) 8 oggetti k bit 2 k stati 2 k oggetti Quanti bit mi servono per codificare N oggetti: N 2 k k log 2 N k = log 2 N (intero superiore)

Esempio di codifica binaria Problema: assegnare un codice binario univoco a tutti i giorni della settimana Giorni della settimana: N = 7 k log 2 7 k = 3 Con 3 bit possiamo ottenere 8 diverse sequenze: Ne servono 7, quali utilizziamo? Quale configurazione associamo a quale giorno? Attenzione: ipotesi che i codici abbiano tutti la stessa lunghezza

I giorni della settimana in binario (1) Lunedì Martedì Domenica Mercoledì Sabato Giovedì Venerdì Lunedì Giovedì Martedì Mercoledì Domenica Sabato Venerdì 0 1 Lunedì Martedì Giovedì Mercoledì Sabato Venerdì Domenica 00 01 10 11 Lunedì Martedì Mercoledì Giovedì Venerdì Sabato Domenica 000 001 010 011 100 101 110 111 1 bit 2 gruppi 2 bit 4 gruppi 3 bit 8 gruppi

I giorni della settimana in binario (2) Lunedì Martedì Domenica Mercoledì Sabato Giovedì Venerdì Sabato Giovedì Martedì Domenica Lunedì Mercoledì Venerdì 0 1 Giovedì Martedì Sabato Mercoledì Domenica Lunedì Venerdì 00 01 10 11 Giovedì Sabato Martedì Domenica Mercoledì Venerdì Lunedì 000 001 010 011 100 101 110 111 1 bit 2 gruppi 2 bit 4 gruppi 3 bit 8 gruppi

Codifica binaria dei caratteri Quanti sono gli oggetti compresi nell insieme? 26 lettere maiuscole + 26 minuscole 52 10 cifre Circa 30 segni d interpunzione Circa 30 caratteri di controllo (EOF, CR, LF, ) circa 120 oggetti complessivi k = log 2 120 = 7 Codice ASCII: utilizza 7 bit e quindi può rappresentare al massimo 2 7 =128 caratteri Con 8 bit (= byte) rappresento 256 caratteri (ASCII esteso) Si stanno diffondendo codici più estesi (UNICODE 16 bit, ISO standard 32 bit) per rappresentare anche i caratteri delle lingue orientali

ASCII su 7 bit 1111 1110 1101 1100 1011 1010 1001 1000 0111 0110 0101 0100 0011 0010 0001 0000 010 sp! " # $ % & ' ( ) * +, -. / 011 0 1 2 3 4 5 6 7 8 9 : ; < = >? 100 @ A B C D E F G H I J K L M N O 101 P Q R S T U V W X Y Z [ \ ] ^ _ 110 ` a b c d e f g h I j k l m n o 111 p q r s t u v w x Y z { } ~ can c

DIMENSIONI Kilobyte: 210 bytes = 1024 bytes Esempio: 3 KB = 3 1024 bytes Alcune volte è scritto kibi invece di kilo Megabyte: 220 bytes = 1,048,576 bytes Esempio: 3 MB = 3 1,048,576 bytes Alcune volte è scritto megi invece di mega Gigabyte: 230 bytes = 1,073,741,824 bytes Esempio: 3 GB = 3 1,073,741,824 bytes Alcune volte è scritto gigi invece di giga 1 9 Brookshear Informatica XI ed Capitolo 1 l 00/00/00

Il messaggio Hello. in ASCII 1111 1110 1101 1100 1011 1010 1001 1000 0111 0110 0101 0100 0011 0010 0001 0000 010 sp! " # $ % & ' ( ) * +, -. / 011 0 1 2 3 4 5 6 7 8 9 : ; < = >? 100 @ A B C D E F G H I J K L M N O 101 P Q R S T U V W X Y Z [ \ ] ^ _ 110 ` a b c d e f g h I j k l m n o 111 p q r s t u v w x Y z { } ~ can c 2 0 Brookshear Informatica XI ed Capitolo 1 l 00/00/00

Numeri naturali Sistema di numerazione posizionale in base b c k c k 1 c 0 rappresenta c k b k + c k 1 b k 1 + + c 0 b 0 b=10 1101 dieci indica 1 10 3 + 1 10 2 + 0 10 + 1 10 0 b=2 1101 due indica 1 2 3 + 1 2 2 + 0 2 + 1 2 0

Decodifica della rappresentazione binaria 100101. 2 2 Brookshear Informatica XI ed Capitolo 1 l 00/00/00

Numeri naturali Sistema di numerazione posizionale in base b c k c k 1 c 0 rappresenta c k b k + c k 1 b k 1 + + c 0 b 0 b=10 1101 dieci indica 1 10 3 + 1 10 2 + 0 10 + 1 10 0 Conversione binario decimale b=2 1101 due indica 8+4+1=13 dieci 1 2 3 + 1 2 2 + 0 2 + 1 2 0 =

Conversione binario decimale 101100 due = 1 dieci 2 5 dieci+ 0 dieci 2 4 dieci+ 1 dieci 2 3 dieci+ 1 dieci 2 2 dieci+ 0 dieci 2 1 dieci+ + 0 dieci 2 0 dieci = = 1 dieci 32 dieci + 0 dieci 16 dieci + 1 dieci 8 dieci + 1 dieci 4 dieci + 0 dieci 2 dieci + 0 dieci 1 dieci = = 32 dieci + 8 dieci + 4 dieci = = 44 dieci 101110101 due = 1 dieci 2 8 dieci+ 0 dieci 2 7 dieci+ 1 dieci 2 6 dieci+ 1 dieci 2 5 dieci+ 1 dieci 2 4 dieci+ 0 dieci 2 3 dieci+ 1 dieci 2 2 dieci+ 0 dieci 2 1 dieci+ 1 dieci 2 0 dieci = = 1 dieci 256 dieci + 0 dieci 128 dieci + 1 dieci 64 dieci + 1 dieci 32 dieci + 1 dieci 16 dieci + 0 dieci 8 dieci + 1 dieci 4 dieci + 0 dieci 2 dieci + 1 dieci 1 dieci = = 256 dieci + 64 dieci + 32 dieci + 16 dieci + 4 dieci + 1 dieci = = 373 dieci

Numeri naturali Sistema di numerazione posizionale in base b c k c k 1 c 0 rappresenta c k b k + c k 1 b k 1 + + c 0 b 0 b=10 1101 dieci indica 1 10 3 + 1 10 2 + 0 10 + 1 10 0 Conversione binario decimale basta scrivere il numero secondo la notazione posizionale b=2 1101 due indica 1 2 3 + 1 2 2 + 0 2 + 1 2 0 = 13 dieci Conversione decimale binario Si potrebbe utilizzare lo stesso metodo indicato sopra, ma è molto complesso b=10 345 dieci indica 11 1010 10 + 100 1010 1 + 101 1010 0

Conversione decimale binario Sistema di numerazione posizionale in base B c n 1 c n 2 c 1 c 0 = c n 1 B n 1 + c n 2 B n 2 + + c 1 B 1 + c 0 B 0 c n 1 c n 2 c 1 c 0 = c n 1 B n 1 + c n 2 B n 2 + + c 1 B + c 0 Dividendo il numero per il valore della base, il risultato che si ottiene è: (c n 1 B n 1 + c n 2 B n 2 + + c 1 B + c 0 )/B = = c n 1 B n 2 + c n 2 B n 3 + + c 1 + c 0 /B che può essere scomposto in modo da evidenziare quoziente e resto: quoziente = c n 1 B n 2 + c n 2 B n 3 + + c 1 resto = c 0 Il resto della divisione corrisponde all ultima cifra della rappresentazione in base B del numero, Applicando lo stesso procedimento al quoziente si ottiene la penultima cifra della rappresentazione in base B Ripetendo la procedura è possibile ottenere tutte le altre cifre.

Un algoritmo per trovare la rappresentazione binaria di un intero positivo. 2 7 Brookshear Informatica XI ed Capitolo 1 l 00/00/00

Conversione decimale binario 573 dieci : 2 dieci quoziente 286 dieci resto 1 dieci 286 dieci : 2 dieci quoziente 143 dieci resto 0 dieci 143 dieci : 2 dieci quoziente 71 dieci resto 1 dieci 71 dieci : 2 dieci quoziente 35 dieci resto 1 dieci 35 dieci : 2 dieci quoziente 17 dieci resto 1 dieci 17 dieci : 2 dieci quoziente 8 dieci resto 1 dieci 8 dieci : 2 dieci quoziente 4 dieci resto 0 dieci 4 dieci : 2 dieci quoziente 2 dieci resto 0 dieci 2 dieci : 2 dieci quoziente 1 dieci resto 0 dieci 1 dieci : 2 dieci quoziente 0 dieci resto 1 dieci 1 000 111 101 due = 573 dieci (cifra binaria meno significativa) (cifra binaria più significativa)

Conversione decimale binario Si calcolano i resti delle divisioni per due 18 : 2 = 9 resto 0 9 : 2 = 4 resto 1 4 : 2 = 2 resto 0 2 : 2 = 1 resto 0 1 : 2 = 0 resto 1 10010 137 : 2 = 68 resto 1 68 : 2 = 34 resto 0 34 : 2 = 17 resto 0 17 : 2 = 8 resto 1 8 : 2 = 4 resto 0 4 : 2 = 2 resto 0 2 : 2 = 1 resto 0 1 : 2 = 0 resto 1 10001001

Numeri binari: operazioni 3 0 Brookshear Informatica XI ed Capitolo 1 l 00/00/00

Numeri binari: operazioni Operazioni di somma di numeri binari naturali. Con gli 8 bit utilizzati negli esempi qui riportati si possono rappresentare i numeri naturali fino a 255dieci. Operazioni che producono un risultato maggiore provocano il superamento della capacità di rappresentazione (indicato in gergo dal termine inglese overflow). 1 1 1 1 0 0 0 1 1 0 0 1 due + 2 5 dieci + 0 0 1 0 1 1 0 0 due + 4 4 dieci + 0 0 1 1 1 1 0 0 due = 6 0 dieci = 0 1 0 0 1 1 1 0 due = 7 8 dieci = 0 1 0 1 0 1 0 1 due 8 5 dieci 0 1 1 1 1 0 1 0 due 1 2 2 dieci

Numeri binari: operazioni Operazioni di moltiplicazione dei numeri binari. Facilitate dal fatto che le moltiplicazioni per una cifra non richiedono calcoli (nx0=0, nx1=n) Le moltiplicazioni a più cifre si effettuano per somme successive (algoritmo manuale)

Numeri naturali binari nei calcolatori Per la codifica dei numeri naturali (interi positivi) si utilizzano abitualmente successioni di 32 bit (4 byte) con cui si possono rappresentare i numeri compresi tra 0 e 2 32 1 = 4'294'967'295 4 10 9. Aumentando la lunghezza delle successioni il massimo numero rappresentabile cresce esponenzialmente: passando da 32 a 64 bit il massimo numero rappresentabile diventa 2 64 1 16 10 18 = 1.6 10 19. A causa del minor numero di simboli dell alfabeto binario rispetto a quello decimale, un numero codificato in notazione binaria richiede più cifre rispetto a quelle impiegate in notazione decimale.

Alfabeto binario Numeri interi anche il segno è rappresentato da 0 o 1 è indispensabile indicare il numero k di bit utilizzati Modulo e segno 1 bit di segno (0 positivo, 1 negativo) k 1 bit di modulo Esempio: +6 dieci = 0110 ms 6 dieci = 1110 ms si rappresentano i valori da 2 k 1 +1 a 2 k 1 1 con 4 bit i valori vanno da 7 a +7 con 8 bit i valori vanno da 127 a +127 Attenzione: ci sono due rappresentazioni dello 0 con 4 bit sono +0 dieci = 0000 ms 0 dieci = 1000 ms

Diverse codifiche/interpretazioni Codice Nat MS Codice Nat MS 0000 0 0 1000 8-0 0001 1 1 1001 9-1 0010 2 2 1010 10-2 0011 3 3 1011 11-3 0100 4 4 1100 12-4 0101 5 5 1101 13-5 0110 6 6 1110 14-6 0111 7 7 1111 15-7

Numeri interi in complemento a 2 Alfabeto binario anche il segno è rappresentato da 0 o 1 è indispensabile indicare il numero k di bit utilizzati Complemento a 2 X corrisponde al binario naturale di 2 k + X +6 dieci 2 4 +6 = 22 [1]0110 0110 C2 6 dieci 2 4 6 = 10 [0]1010 1010 C2 si rappresentano i valori da 2 k 1 a 2 k 1 1 con 4 bit i valori vanno da 8 a +7 con 8 bit i valori vanno da 128 a +127 Con 32 bit i valori vanno da 2'147'483'648 fino a +2'147'483'647 Attenzione: c è una sola rappresentazione dello 0 con 4 bit è +0 dieci = 0000 C2 mentre 1000 C2 = 8 dieci

Notazione in complemento a due. 3 7 Brookshear Informatica XI ed Capitolo 1 l 00/00/00

Il complemento a 2 Metodi alternativi per calcolare la rappresentazione di X a partire da quella di X Effettuare il complemento di ogni bit di X, poi aggiungere 1 rappresentazione di +6 dieci = 0110 C2 (NB ci vogliono 4 bit!!) complemento di tutti i bit 1001 C2 (corrisponderebbe a -7 dieci ) aggiungere 1 1010 C2 (che corrisponde a -6 dieci ) Partendo da destra e andando verso sinistra, lasciare invariati tutti i bit fino al primo 1 compreso, complementare tutti gli altri bit. rappresentazione di +6 dieci = 0110 C2 (NB ci vogliono 4 bit!!) gli ultimi due bit ( 1 0) rimangono invariati gli altri due bit vengono complementati (1 0 1 0 C2 )

Codifica del valore 6 in notazione in complemento a due usando quattro bit. 3 9 Brookshear Informatica XI ed Capitolo 1 l 00/00/00

Complemento a 2: alcune osservazioni Se si considera la notazione posizionale, si può notare che nella rappresentazione binaria in complemento a due il valore si può ottenere anche associando alla cifra più significativa un peso negativo, mentre tutte le altre cifre mantengono il peso originario positivo. Il valore di un numero c n 1 c n 2 c 1 c 0 scritto in complemento a due è c n 1 2 n 1 + c n 2 2 n 2 + + c 1 2 1 + c 0 2 0 Esempi: 0101 C2 = 0 2 3 +1 2 2 +0 2 1 +1 2 0 = 5 dieci, 1011 C2 = 1 2 3 +0 2 2 +1 2 1 +1 2 0 = 5 dieci.

Complemento a 2: alcune osservazioni I valori positivi iniziano con 0, quelli negativi con 1 Data la rappresentazione di un numero su k bit, la rappresentazione dello stesso numero su k+1 bit si ottiene aggiungendo (a sinistra) un bit uguale al primo (estensione del segno ) Rappresentazione di 6 su 4 bit = 1010 Rappresentazione di 6 su 5 bit = 11010 Rappresentazione di 6 su 8 bit = 11111010 la sottrazione si effettua come somma algebrica 4 6 = +4 + ( 6) = 0100 + 1010 = 1110 = 2 9 6 = +9 + ( 6) = 01001 + 11010 = [1]00011 = +3

Problemi di addizione tradotti nella notazione in complemento a due. 4 2 Brookshear Informatica XI ed Capitolo 1 l 00/00/00

C2: operazioni Operazioni di somma di numeri binari in complemento a due. Con gli 8 bit utilizzati negli esempi qui riportati si possono rappresentare i numeri interi da 128 dieci fino a +127 dieci

C2: operazioni Se due operandi dello stesso segno danno un risultato di segno opposto vuol dire che è stata superata la capacità di calcolo (overflow). (nota 118=256-(78+60) - 78+60= 138 ok con 9 bit non con 8)

Diverse codifiche/interpretazioni Dieci Due MS C2 Dieci Due MS C2 +0 0000 0000 0000 0 0000 1000 0000 +1 0001 0001 0001 1 NA 1001 1111 +2 0010 0010 0010 2 NA 1010 1110 +3 0011 0011 0011 3 NA 1011 1101 +4 0100 0100 0100 4 NA 1100 1100 +5 0101 0101 0101 5 NA 1101 1011 +6 0110 0110 0110 6 NA 1110 1010 +7 0111 0111 0111 7 NA 1111 1001 +8 1000 NA NA 8 NA NA 1000

Diverse codifiche/interpretazioni Codic Codic Nat MS C2 e e Nat MS C2 0000 0 0 0 1000 8-0 -8 0001 1 1 1 1001 9-1 -7 0010 2 2 2 1010 10-2 -6 0011 3 3 3 1011 11-3 -5 0100 4 4 4 1100 12-4 -4 0101 5 5 5 1101 13-5 -3 0110 6 6 6 1110 14-6 -2 0111 7 7 7 1111 15-7 -1

Numeri razionali Cifre più significative: sono le cifre associate ai pesi maggiori per i numeri maggiori di 1, le cifre più significative sono quelle poste più a sinistra, per esempio, nel numero 723456, la cifra più significativa è 7, associata al peso 10 5, seguita da 2, con peso 10 4, e così via; nel caso di numeri minori di 1, che iniziano con 0 seguito dal separatore decimale, le cifre più significative sono le prime diverse da 0 che si incontrano andando da sinistra verso destra, per esempio, nel numero 0.0072345 la cifra più significativa è 7, con peso 10 3, seguita da 2, con peso 10 4, e così via.

Numeri razionali Quando i numeri hanno un valore molto grande o molto piccolo, si considerano solo le cifre più significative, adottando una rappresentazione che viene indicata come notazione scientifica: un numero in base B viene rappresentato come ±0.m B e, segno (+ oppure ), coefficiente m, detto mantissa, che è la parte frazionaria compresa tra 0 e 1 esponente e a cui elevare la base della numerazione, che è un intero

Numeri razionali Quando i numeri hanno un valore molto grande o molto piccolo, si considerano solo le cifre più significative, adottando una rappresentazione che viene indicata come notazione scientifica: un numero in base B viene rappresentato come ±0.m B e, segno (+ oppure ), coefficiente m, detto mantissa, che è la parte frazionaria compresa tra 0 e 1 esponente e a cui elevare la base della numerazione, che è un intero Esempi: -123'450'000'000 diventa 0.12345 10 12, con segno negativo, mantissa 12345, ed esponente 12; +0.0000012345, corrisponde a 0.12345 10 5, con segno positivo, mantissa 12345 ed esponente 5.

Per esempio +101010000 diventa +0.10101 10 01001, segno positivo; mantissa 10101 (si noti che la mantissa inizia sempre con 1); esponente è 01001 (si noti come l esponente sia un numero intero e per questo sia necessario adottare una rappresentazione che permetta la codifica anche di valori negativi, come, per esempio, quella in complemento a due). Standard IEEE-754 (Institute of Electrical and Electronic Engineers): precisione doppia: 64 bit precisione singola: 32 bit Area di overflow negativo ( ) Numeri negativi con mantissa normalizzata Area di underflow Numeri positivi con mantissa normalizzata Area di overflow positivo (+ ) 10 38 10 38 10 45 0 +10 45 +10 38 +10 38 Numeri negativi con mantissa non normalizzata Numeri positivi con mantissa non normalizzata

Analogico vs digitale

Analogico e digitale Codifica ANALOGICA Infinite configurazioni del mezzo fisico. Es. Ora = posizione delle lancette Benzina nel serbatoio = posizione indicatore sul cruscotto Codifica DIGITALE numero finito di configurazioni distinguibili Es. Ora = cifre Benzina nel serbatoio= tacche sul cruscotto

Da analogico a digitale: La grandezza varia nel tempo e non può essere rappresentata da un solo valore. I valori di riferimento debbono essere rilevati in diversi istanti di tempo (frequenza di campionamento). il campionamento Ampiezza della grandezza fisica Tempo

Valori rappresentativi Ampiezza della grandezza fisica Campionamento e quantizzazione Per ogni valore campionato viene effettuata la quantizzazione Quantizzazione: suddivide l ampiezza in n intervalli (che vengono poi codificati in binario) Tempo

Ricostruzione Ampiezza A 3 a 3 A 2 a 2 Andamento originario della grandezza A 1 a 1 Andamento della grandezza ricostruito dai valori campionati A 0 a 0 Tempo t 1 t 2 t 3 t 4 t 5 t 6 t 7 T 1 T 2 T 3 T 4 T 5 T 6 T 7

Suono digitale Formato standard per i CD audio frequenza di campionamento di 44'100 Hz quantizzazione (un campione viene codificato su 16 bit) Un secondo di musica stereo richiede 44100 campioni di 16 bit (2 byte) ciascuno per due canali, quindi 176400 byte. L errore che si commette nella ricostruzione del segnale sonoro è difficilmente rilevabile da parte di un orecchio umano.

Foto digitali Per la codifica digitale delle immagini le operazioni di campionamento e quantizzazione si applicano nello spazio invece che nel tempo. Il campionamento consiste nel dividere l immagine in sottoinsiemi (pixel, cioè picture element), per ognuno dei quali si dovrà prelevare un campione che si considera rappresentativo del colore di tutto il sottoinsieme. La quantizzazione è la codifica del colore associato a ogni pixel: i più recenti formati utilizzano 32 bit (4 byte) per pixel: 8 bit per ognuna delle tre componenti fondamentali (RGB: red, green, blue) e altri 8 per gestire le trasparenze. Memoria necessaria per immagini non compresse (bitmap) per un immagine di 640 480 pixel servono 1'228'800 byte; per un immagine di 800 600 pixel servono 1'920'000 byte; per un immagine di 1024 768 pixel servono 3'145'728 byte; per un immagine di 1280 1024 pixel servono 5'242'880 byte; per un immagine di 1600 1200 pixel servono 7'680'000 byte;

Il successo del digitale Rumore: effetto dell ambiente sul supporto. Esempio: immagini di Saturno Sonda (Cassini): invia immagini dallo spazio Rumore: Segnale distorto nello spazio Immagini su CD Rumore: graffi

Il successo del digitale Rumore: effetto dell ambiente sul supporto. Quanto un supporto è immune al rumore? Codifica analogica: ogni configurazione è lecita dal punto di vista informazionale e quindi risulta impossibile distinguere il rumore dal segnale. Codifica digitale: un valore binario è associato a un insieme di configurazioni valide quindi si può riconoscere il rumore che porta in configurazioni non lecite trascurare il rumore che non fa uscire il segnale dall insieme associato alla stessa configurazione 5 4 3 2 1 0 Tensione (V) 1 binario Non lecito 0 binario