2. Codifica dell informazione



Похожие документы
2.12 Esercizi risolti

Informatica. Rappresentazione dei numeri Numerazione binaria

Sistemi di Numerazione Binaria NB.1

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Logica e codifica binaria dell informazione

Rappresentazione dell informazione Codifica Binaria

Sistemi di Numerazione

Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri

Codifica binaria dei numeri

Informatica Generale 02 - Rappresentazione numeri razionali

L'informazione e la sua codifica

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico

Rappresentazione di informazioni con un alfabeto finito

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Rappresentazione dei numeri in un calcolatore

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Elementi di informatica

La codifica delle informazioni

Alessandro Pellegrini

Esercitazioni su rappresentazione dei numeri e aritmetica dei calcolatori"

INFORMATICA. Automa TRATTAMENTO AUTOMATICO DELLE INFORMAZIONI

Fondamenti di Informatica

La codifica dell informazione

Informazione analogica e digitale

Aritmetica dei Calcolatori 1

Sistemi di numerazione: generalità

Codifica dei numeri negativi

Codifica binaria dei numeri relativi

Parte II Indice. Operazioni aritmetiche tra valori rappresentati in binario puro. Rappresentazione di numeri con segno

Laboratorio di Informatica

CODIFICA BINARIA. ... sono rappresentati ricorrendo a simboli che sintezzano il concetto di numerosità.

Codifica dei numeri. Rappresentazione dell informazione

4 3 4 = 4 x x x 10 0 aaa

Elementi di Informatica e Programmazione

Rappresentazione delle informazioni

(71,1), (35,1), (17,1), (8,1), (4,0), (2,0), (1,0), (0,1) 0, = 1, 431 0, = 0, 862 0, = 1, 792 0, = 1, 448 0, = 0, 896

Codifica binaria e algebra di Boole

Esempi ed esercizi Aritmetica degli elaboratori e algebra di commutazione

Operazioni Aritmetiche e Codici in Binario Giuseppe Talarico 23/01/2013

Esercizi. Esercizi sulla codifica (Parte 1) Elementi di Informatica e Programmazione. Soluzioni degli esercizi Esercizio 2

Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno

la scienza della rappresentazione e della elaborazione dell informazione

Codifica delle Informazioni

Rappresentazione binaria

Elementi di Informatica. ( Lezione II, parte I ) Sistemi di numerazione: binario, ottale ed esadecimale

Materiale di approfondimento: numeri interi relativi in complemento a uno

I sistemi di numerazione

SISTEMI DI NUMERAZIONE IL SISTEMA DECIMALE

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

Megabyte (MB) = 1024KB 1 milione di Byte (e.g. un immagine di 30MB) Gigabyte (GB) = 1024MB 1 miliardo di Byte (e.g. un hard disk da 80GB)

Fondamenti di Informatica Ingegneria Clinica Lezione 19/11/2009. Prof. Raffaele Nicolussi

la scienza della rappresentazione e della elaborazione dell informazione

Numerazione binaria e rappresentazione delle informazioni

Codifica dell informazione

Rappresentazione binaria

ALGEBRA BOOLEANA FONDAMENTI DI INFORMATICA 1. Algebra di Boole. Definizione NOT, AND, OR

Operazioni binarie fondamentali

ESAME SCRITTO DI ELEMENTI DI INFORMATICA E PROGRAMMAZIONE. 27 Gennaio 2015

Lez. 3 L elaborazione (II parte) Prof. Pasquale De Michele Gruppo 2

SISTEMI DI NUMERAZIONE E CODICI

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

= 1*2^7 + 1*2^6 + 0*2^5 + 1*2^4 + 0*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = 210

RAPPRESENTAZIONE DEI NUMERI BINARI. Corso di Fondamenti di Informatica AA

LA RAPPRESENTAZIONE DELLE INFORMAZIONI

APPUNTI DI ELETTRONICA DIGITALE

ESERCIZI di FONDAMENTI DI INFORMATICA RAPPRESENTAZIONE DEI NUMERI

Lezione 2 OPERAZIONI ARITMETICHE E LOGICHE ARCHITETTURA DI UN ELABORATORE. Lez2 Informatica Sc. Giuridiche Op. aritmetiche/logiche arch.

Codici Numerici. Modifica dell'informazione. Rappresentazione dei numeri.

Lezione 2: Codifica binaria dell informazione. Codifica binaria

Base generica: B A = {... }, con A = B, sequenze di n simboli (cifre) c n

Rappresentazione numeri in virgola mobile

Indice. 1 Rappresentazione dei dati... 3

IL CODICE BINARIO. Il codice binario. Codifica posizionale. Aritmetica binaria

Elementi di informatica

Un ripasso di aritmetica: Rappresentazione binaria - operazioni. riporti

Definizioni iniziali

ESEMPIO 1: eseguire il complemento a 10 di 765

Tipi elementari, costanti. Tipi di dati. VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori. Tipi. intero reale carattere

Floating Point N = M BE. Notazione in virgola mobile. base. esempi = =

Parte 1. Vettori di bit - AA. 2012/13 1.1

Numeri interi posi-vi e nega-vi

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dell informazione negli elaboratori

Appunti sulla rappresentazione dell informazione

Obiettivi dell Analisi Numerica. Avviso. Risoluzione numerica di un modello. Analisi Numerica e Calcolo Scientifico

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

Rappresentazione binaria dei numeri negativi

Codifica binaria dell Informazione Aritmetica del Calcolatore

- Sistemi di numerazione 1 - Sistemi di Numerazione

Lezione 3. Sommario. Le operazioni aritmetiche binarie. L aritmetica binaria. La somma La sottrazione La moltiplicazione

SISTEMI DI NUMERAZIONE DECIMALE E BINARIO

Sommario. Addizione naturale

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1

CONCETTO DI LIMITE DI UNA FUNZIONE REALE

BIT? Cosa c è dietro a questo nome? Che cos è il bit? Perché si usa? Come si converte un numero binario?

I SISTEMI DI NUMERAZIONE (esercizi svolti)


Транскрипт:

2. Codifica dell informazione Codifica Una codifica è una regola per associare in modo univoco i valori di un dato da codificare con sequenze di simboli. La corrispondenza definita dalla codifica è arbitraria, è una convenzione. Essa deve pertanto essere nota e rispettata da chi genera e da chi utilizza i dati. A tale scopo vengono definiti degli standard. 1

Codifica binaria In un calcolatore i dati sono rappresentati in forma binaria con sequenze di bit, ovvero sequenze di due soli simboli: 0 e 1. Bisogna perciò poter associare univocamente ad ogni dato elementare (numeri, caratteri, ) una sequenza di bit che lo rappresenti. Codifica binaria Alfabeto (insieme dei simboli utilizzabili) costituito da cifre 0 e 1. Con N cifre binarie si possono codificare 2 N configurazioni diverse e pertanto si possono rappresentare al più 2 N valori distinti. Per rappresentare M valori distinti sono necessarie N = log 2 M cifre binarie. 2

Codifica binaria: esempi Con 4 cifre binarie posso rappresentare 2 4 = 16 valori distinti. Per rappresentare i 7 giorni della settimana, occorrono N = log 2 7 = 3 cifre binarie. Una possibile codifica è ad esempio: Lunedì 000 Venerdì 100 Martedì 001 Sabato 101 Mercoledì 010 Domenica 110 Giovedì 011 Codifica binaria dei numeri Distinguiamo la rappresentazione per: numeri naturali (interi positivi) numeri interi con segno numeri reali 3

Numeri interi positivi La codifica si basa sulla notazione posizionale o pesata adottata usualmente per i numeri codificati in decimale. Nella notazione posizionale il valore numerico rappresentato da una cifra dipende dal valore della cifra e dalla sua posizione nel numero. Data una base B, le cifre c k possono assumere i valori da 0 a B - 1. Numeri interi positivi In notazione posizionale un numero X di N cifre si può esprimere in base B come: X = N 1 k = 0 c k B k = c B 0 0 + c B 1 1 +... + c N 1 B N 1 Ad esempio 1328 10 = 1 10 3 + 3 10 2 + 2 10 1 + 8 10 0 356 8 = 3 8 2 + 5 8 1 + 6 8 0 = 192 + 40 + 6 = 238 10 4

Numeri interi positivi Nel caso binario (base B = 2), una sequenza di bit b n-1...b 1 b 0 rappresenta il numero: n 1 i= 0 b i n 1 i = 2 bn 1 +... + 4 b2 + 2 b1 + 2 b 0 Dati n bit è possibile rappresentare numeri da 0 a 2 n -1 (con 8 bit): 00001001 rappresenta il numero 9 (2 3 +1 = 8 + 1) Rappresentazione a 4 bit dei numeri interi positivi tra 0 e 15: Base 10 Base 2 Base 10 Base 2 0 0000 8 1000 1 0001 9 1001 2 0010 10 1010 3 0011 11 1011 4 0100 12 1100 5 0101 13 1101 6 0110 14 1110 7 0111 15 1111 5

Numeri interi positivi Per calcolare la rappresentazione binaria di un numero intero positivo lo si divide successivamente per 2 (fino ad ottenere 0), scrivendo da destra a sinistra il resto della divisione. La sequenza di 0 e 1 ottenuta dai resti della divisione, costituisce la rappresentazione binaria del numero. Si calcoli la rappresentazione binaria a 8 bit del numero decimale 125: - 125 / 2 = 62 resto 1-62 / 2 = 31 resto 0-31 / 2 = 15 resto 1-15 / 2 = 7 resto 1-7 / 2 = 3 resto 1-3 / 2 = 1 resto 1-1 / 2 = 0 resto 1 = > 01111101 Controprova: 01111101 = 0 2 7 + 1 2 6 + 1 2 5 + 1 2 4 + 1 2 3 + 1 2 2 + 0 2 1 + 1 2 0 = 64 + 32 + 16 + 8 + 4 + 1 = 125 6

Interi con segno I numeri interi con segno sono rappresentati tramite diverse codifiche Le codifiche più usate sono: codifica segno-valore codifica complemento a 1 codifica complemento a 2 Codifica segno-valore Il primo bit rappresenta il segno, gli altri il valore. (con 8 bit): 10001001 rappresenta -9 Comporta una doppia rappresentazione dello zero: 00000000 e 10000000 I numeri rappresentati appartengono all intervallo -(2 n-1-1) +(2 n-1-1) Occorre usare due diversi algoritmi per la somma a seconda che il segno degli addendi sia concorde o discorde 7

Rappresentazione in segno e valore a 4 bit dei numeri interi tra -7 e 7: Base 10 Base 2 Base 10 Base 2 0 1000 0 0000-1 1001 1 0001-2 1010 2 0010-3 1011 3 0011-4 1100 4 0100-5 1101 5 0101-6 1110 6 0110-7 1111 7 0111 Somma tra addendi concordi in segno: Somma tra addendi discordi in segno: 0011 + 0010 = 0101 3 + 2 = 5 OK 0011 + 1010 = 1101 3 + (- 2) = -5!? La somma tra addendi discordi in segno dà risultati non corretti! 8

Complemento a 1 Un numero negativo è rappresentato con il complemento del corrispondente numero positivo. : 11110110 rappresenta -9 (dove 00001001 rappresenta 9) Comporta una doppia rappresentazione dello zero: 00000000 e 11111111 I numeri rappresentati appartengono all intervallo -(2 n-1-1) +(2 n-1-1) Rappresentazione in complemento a 1 a 4 bit dei numeri interi tra -7 e 7: Base 10 Base 2 Base 10 Base 2 0 1111 0 0000-1 1110 1 0001-2 1101 2 0010-3 1100 3 0011-4 1011 4 0100-5 1010 5 0101-6 1001 6 0110-7 1000 7 0111 9

Ancora problemi con la somma: 0011 + 1101 = 0000 3 + (-2) = 0!? 1100 + 1101 = 1001-3 + (-2) = -6!? Per ottenere i risultati corretti occorre sommare il riporto (ovvero sommare 1). Complemento a 2 Un numero negativo è ottenuto calcolando il suo complemento e poi aggiungendo 1. : 11110111 rappresenta -9 Comporta un unica rappresentazione dello zero che è 00000000 I numeri rappresentati appartengono all intervallo -2 n-1 +(2 n-1-1) 10

Rappresentazione in complemento a 2 a 4 bit dei numeri interi tra -8 e 7: Base 10 Base 2 Base 10 Base 2-8 1000 0 0000-7 1001 1 0001-6 1010 2 0010-5 1011 3 0011-4 1100 4 0100-3 1101 5 0101-2 1110 6 0110-1 1111 7 0111 Ora la somma dà risultati corretti! 0011 + 0010 = 0101 3 + 2 = 5 0011 + 1110 = 0001 3 + (- 2) = 1 1101 + 1110 = 1011-3 + (-2) = -5 11

Ancora due somme: 0101 + 0110 = 1011 5 + 6 = -5!? 1100 + 1010 = 0110-4 + (-6) = 6!? In realtà con 4 bit si possono rappresentare numeri tra -8 e +7. I risultati corretti (11 e -10) sono fuori da questo intervallo (overflow). Numeri Reali Due tipi di rappresentazione: Rappresentazione in virgola fissa (fixed point) Rappresentazione in virgola mobile (floating point) 12

Numeri Reali Rappresentazione in virgola fissa: Un numero reale è rappresentato come una coppia di numeri interi, uno per la parte intera e uno per la parte frazionaria. Un numero fisso di bit è dedicato a ciascuna delle due parti. : 4 bit per la parte intera e 4 bit per la parte frazionaria: 01101011 = 0110.1011 2 = 0 2 3 + 1 2 2 + 1 2 1 + 0 2 0 + 1 2-1 + 0 2-2 + 1 2-3 + 1 2-4 = 4 + 2 + 0.5 + 0.125 + 0.0625 = 6.6875 Numeri Reali Rappresentazione in virgola mobile: m 10 e m è la mantissa ed e è l esponente 0 1...8 9......31 segno codifica per e codifica per m intervallo di rappresentazione (con 32 bit) -1.7 10 +38-0.29 10-38 e 0.29 10-38 1.7 10 +38 La codifica è dipendente dal numero di bit e dalla particolare rappresentazione binaria 13

Standard IEEE-754 E la rappresentazione (in virgola mobile) per i numeri reali adottata oggi praticamente da tutti. Codifica dei caratteri Qualunque codifica deve soddisfare: 'a' < 'b' <... < 'z' 'A' < 'B' <... < 'Z' '0' < '1' <... < '9' Continuità dei codici delle successioni 'a', 'b',..., 'z' 'A', 'B',..., 'Z' '0', '1',..., '9' Nota: non è fissa la relazione tra maiuscole e minuscole o fra i caratteri non alfabetici 14

Codifica dei caratteri Codifica ASCII (American Standard Code for Information Interchange) Comprende caratteri speciali, punteggiatura, a-z, A-Z, 0-9 Utilizza 7 bit (128 caratteri) I codici ASCII estesi usano 8 bit (256 caratteri) Codifica UNICODE Utilizza 16 bit (65536 caratteri) I primi 128 caratteri sono gli stessi di ASCII Gli altri corrispondono ad altri alfabeti (greco, cirillico, ) Non copre i simboli (oltre 200.000) di tutte le lingue! : Codifica ASCII 0 NUL 1 ^A 2 ^B 3 ^C 4 ^D 5 ^E 6 ^F 7 ^G 8 ^H 9 ^I 10 ^J 11 ^K 12 ^L 13 ^M 14 ^N 15 ^O 16 ^P 17 ^Q 18 ^R 19 ^S 20 ^T 21 ^U 22 ^V 23 ^W 24 ^X 25 ^Y 26 ^Z 27 ^[ 28 ^\ 29 ^] 30 ^^ 31 ^- 32 SP 33! 34 " 35 # 36 $ 37 % 38 & 39 ' 40 ( 41 ) 42 * 43 + 44, 45-46. 47 / 48 0 49 1 50 2 51 3 52 4 53 5 54 6 55 7 56 8 57 9 58 : 59 ; 60 < 61 = 62 > 63? 64 @ 65 A 66 B 67 C 68 D 69 E 70 F 71 G 72 H 73 I 74 J 75 K 76 L 77 M 78 N 79 O 80 P 81 Q 82 R 83 S 84 T 85 U 86 V 87 W 88 X 89 Y 90 Z 91 [ 92 \ 93 ] 94 ^ 95 _ 96 ` 97 a 98 b 99 c 100 d 101 e 102 f 103 g 104 h 105 i 106 j 107 k 108 l 109 m 110 n 111 o 112 p 113 q 114 r 115 s 116 t 117 u 118 v 119 w 120 x 121 y 122 z 123 { 124 125 } 126 ~ 127 DEL 15

Codifica esadecimale La rappresentazione esadecimale consente di esprimere lunghe sequenze binarie in modo più compatto. Ogni gruppo di 4 bit può infatti essere direttamente convertito nella corrispondente cifra esadecimale. Parole di 16 o di 32 bit possono così essere espresse in modo più conveniente rispettivamente con 4 e 8 cifre esadecimali. Codifica esadecimale Alfabeto costituito da 16 simboli. : rappresentazione esadecimale dei numeri interi positivi tra 0 e 15: Base 10 Base 16 Base 10 Base 16 0 0 8 8 1 1 9 9 2 2 10 A 3 3 11 B 4 4 12 C 5 5 13 D 6 6 14 E 7 7 15 F 16

La rappresentazione esadecimale della parola di 16 bit 0110 1100 0011 1010 è 6C3A. La rappresentazione esadecimale della parola di 32 bit 1110 0010 0001 1111 1101 1011 0000 0101 è E21FDB05 Quando nello scrivere un programma occorre specificare i dati in forma binaria, spesso si usa la rappresentazione esadecimale. 17