Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


CODIFICA E DECODIFICA INFORMATICA GENERALE, Appunti di Elementi di Informatica

codifica e decodifica informatica generale con gli esercizi

Tipologia: Appunti

2018/2019

Caricato il 30/01/2019

Shayan.danaei473
Shayan.danaei473 🇮🇹

4.5

(2)

4 documenti

1 / 49

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Università degli Studi di Torino
Codifica e decodifica
dell’informazione
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31

Anteprima parziale del testo

Scarica CODIFICA E DECODIFICA INFORMATICA GENERALE e più Appunti in PDF di Elementi di Informatica solo su Docsity!

Università degli Studi di Torino

Codifica e decodifica

dell’informazione

C

o d i f i c e d e c o d i f i c

BLA BLA BLA BLA …. 0010101110100111011...

informazione gestibile

da un utente umano

rappresentazione

digitale

Codifica e decodifica

C

o d i f i c e d e c o d i f i c

Codifica digitale: il bit

L’entità minima di informazione che possiamo trovare all’interno di un

elaboratore prende il nome di bit (Binary digit). Un bit può assumere solo due

valori: 0 e 1.

Le ragioni della scelta di una rappresentazione binaria sono prevalentemente di

carattere tecnologico , ossia dipende da come funzionano i dispositivi che

costituiscono il computer. Questi dispositivi difatti sono bistabili , cioè assumono

sempre uno stato fra due possibili:

stati di polarizzazione di una sostanza magnetizzabile positivo/negativo;

stati di carica elettrica di una sostanza positivo/negativo;

passaggio/non passaggio di corrente attraverso un conduttore;

passaggio/non passaggio di luce attraverso una fibra ottica.

Questi 2 possibili stati fisici possono essere naturalmente tradotti nei simboli

numerici del sistema binario: 1 e 0.

C

o d i f i c e d e c o d i f i c

Sequenze di bit

Un singolo bit può rappresentare due stati, o due entità.

Per poter rappresentare un numero maggiore di oggetti si usano

sequenze di bit. Ad esempio, con due bit è possibile rappresentare

quattro entità.

Nel mondo delle figure geometriche:

C

o d i f i c e d e c o d i f i c

Il byte

La sequenza di bit di lunghezza 8 (

8

= 256 informazioni) prende il

nome di byte. Il byte è usato come unità di misura per indicare la

capacità della memoria, e la dimensione dei file. Date le dimensioni

odierne di memoria e file, comunemente si usano i multipli di byte:

Kilobyte KB 2

10

byte

≈ un migliaio di byte [1024]

Megabyte MB 2

20

byte

≈ un milione di byte [1024*KB]

Gigabyte GB 2

30

byte

≈ un miliardo di byte [1024*MB]

Terabyte TB 2

40

byte

≈ mille miliardi di byte [1024*GB]

C

o d i f i c e d e c o d i f i c

I caratteri della comunicazione

scritta

Il primo problema che si presenta se vogliamo poter comunicare con il

computer usando il nostro linguaggio è quello di poter rappresentare un

alfabeto di caratteri :

  • 52 lettere dell’alfabeto anglosassone (maiuscole e minuscole)
  • segni di punteggiatura : ,. ;!? “ ‘ ...
  • segni matematici + - { [ > ...
  • caratteri nazionali à è è ñ ç ä ...
  • altri segni grafici @ _ € © ...

in totale si tratta di un alfabeto di 220 caratteri circa

considerando che ho bisogno di associare a ogni carattere una

sequenza di bit univoca (codice numerico), ho bisogno di ...

...almeno 8 bit (1 byte)!

C

o d i f i c e d e c o d i f i c

Codifica e decodifica ASCII

Una volta decisa la codifica da usare per i caratteri, è possibile codificare

una parola come la sequenza di bit dei caratteri che la compongono.

Per codificare un testo (contenente parole e punteggiatura, come spazi,

tabulazioni ed a capo), è sufficiente concatenare la sequenza di parole e

caratteri di punteggiatura che lo compongono. Il numero di byte necessari

alla sua codifica dipenderà quindi dal numero di caratteri e segni di

punteggiatura presenti nel testo.

Esempio:

codifica del testo: “il Po!”

i l P o!

decodifica della sequenza di bit: “01010000011011110110100100100001”

P o i!

C

o d i f i c e d e c o d i f i c

Esercizi

  1. Se una pagina di libro contiene 2000 caratteri, quanti

volumi di 1000 pagine codificati in ASCII esteso

possono essere contenuti in un hard disk da 400 MB?

  1. Dato un alfabeto di 623 caratteri, di quanti bit ho

bisogno per codificarlo?

C

o d i f i c e d e c o d i f i c

Numeri e codifica ASCII

Lo standard di codifica ASCII (così come le altre codifiche standard)

permette di codificare cifre decimali da 0 a 9 come caratteri : è quindi

possibile, utilizzando tale codifica, rappresentare numeri come sequenze

di caratteri.

esempio: codifica ASCII di 2002:

Problema: con questo tipo di rappresentazione non è possibile

effettuare operazioni aritmetiche tra numeri!

per permettere di utilizzare le operazioni tra numeri, questi vengono

codificati in una maniera differente rispetto ai caratteri.

La codifica dei numeri si rifà alle leggi di conversioni di numeri in basi

differenti!

C

o d i f i c e d e c o d i f i c

Il sistema di numerazione

posizionale

Nella notazione posizionale dei numeri, quella che usiamo normalmente,

ogni cifra di un numero assume un certo valore in funzione della sua

posizione.

Un sistema differente era quello usato dagli antichi romani, che era

additivo anziché posizionale.

Esempio: in base 10 (quella che usiamo usualmente), la notazione compatta 365

sta per

3 x 100 + 6 x 10 + 5 x 1 o più precisamente

3 x 10

2

  • 6 x 10

1

  • 5 x 10

0

in notazione esplicita

Ogni numero si esprime quindi come la somma dei prodotti di ciascuna

cifra per la base elevata all’esponente che rappresenta la posizione della

cifra (partendo da 0, da destra verso sinistra).

La notazione posizionale può essere usata con qualunque base , non

solo quella decimale, creando così differenti sistemi di numerazione!

C

o d i f i c e d e c o d i f i c

Conversione da base b a base 10

Per convertire un numero da una qualunque base b alla base 10 è

sufficiente rappresentare esplicitamente i calcoli.

esempi:

da base 2 a base 10 :

101001

2

= 1 x 2

5

  • 0 x 2

4

  • 1 x 2

3

  • 0 x 2

2

  • 0 x 2

1

  • 1 x 2

0

=

= 32

10

  • 0 + 8

10

  • 0 + 0 + 1

10

= 41

10

da base 8 a base 10:

2007

8

= 2 x 8

3

  • 0 x 8

2

  • 0 x 8

1

  • 7 x 8

0

=

= 1024

10

  • 0 + 0 + 7

10

= 1031

10

da base 16 a base 10:

B7FC

16

= 11 x 16

3

  • 7 x 16

2

  • 15 x 16

1

  • 12 x 16

0

=

= 45056

10

  • 1792

10

  • 240

10

  • 12

10

= 47100

10

C

o d i f i c e d e c o d i f i c

Conversione da base 10 a base b

Per convertire un numero dalla base 10 ad una qualunque base b occorre

trovare tutti i resti delle successive divisioni del numero per la base b.

esempio: convertire 210

10

in base 2

divido 210 per 2 210 : 2 = 105 x 2 + 0 ... e memorizzo 0

divido 105 per 2 105 : 2 = 52 x 2 + 1 ... e memorizzo 1

divido 52 per 2 52 : 2 = 26 x 2 + 0 ... e memorizzo 0

divido 26 per 2 26 : 2 = 13 x 2 + 0 ... e memorizzo 0

divido 13 per 2 13 : 2 = 6 x 2 + 1 ... e memorizzo 1

divido 6 per 2 6 : 2 = 3 x 2 + 0 ... e memorizzo 0

divido 3 per 2 3 : 2 = 1 x 2 + 1 ... e memorizzo 1

divido 1 per 2 1 : 2 = 0 x 2 + 1 ... e memorizzo 1

riscrivendo i resti in ordine inverso ottengo 11010010

2

( = 210

10

)

C

o d i f i c e d e c o d i f i c

Conversione tra basi 2, 8 e 16

Le basi ottale ed esadecimale non sono realmente usate dai computer,

ma servono per noi umani , per rappresentare in maniera compatta le

informazioni codificate in base binaria.

La conversione da base binaria a queste a queste due basi è semplice,

basta:

separare i bit del numero binario in gruppi, da destra a sinistra,

contenenti 3 bit per la base ottale o 4 bit per la base esadecimale;

per ogni sequenza di bit, trovare l’equivalente nella base 8 o 16;

scrivere il numero ottenuto concatenando le cifre.

La conversione da queste due basi alla base binaria funziona all’inverso.

Esempio: conversione di 111110011001

2

Ottale: 111 110 011 001 ↔ 7 6 3 1 ↔ 7631

8

Esadecimale: 1111 1001 1001 ↔ F 9 9 ↔ F

16

C

o d i f i c e d e c o d i f i c

E

16

10

Esercizi

10

2

16

2

16

7

5