Estratto del documento

Codifica dell’informazione

La codifica di un’informazione e la sua trasmissione ad un calcolatore sono i nuclei fondativi

dell’informatica. Affinché una qualsiasi informazione possa essere comunicata ad un calcolatore, è

necessaria la sua codifica, ovvero la sua rappresentazione attraverso un codice, contenente un insieme

limitato di simboli, e non ambiguo.

Sistema numerico binario

Il sistema numerico binario è stato scelto nell’informatica come il sistema di codifica di qualsiasi tipo di

informazione.

Notazione posizionale

Come molti altri sistemi numerici, il sistema binario gode della notazione posizionale. Ciò significa che ogni

numero può essere scritto come: −

= ∙ + ∙ + ⋯ + ∙ + ∙

dove: ∈ {, }

Difetti del sistema binario

Il sistema binario è utile se si deve comunicare ad un calcolatore, attraverso una determinata differenza di

potenziale, una data informazione. Tuttavia, esso presenta un difetto importante.

(10

− 1)

Nel sistema decimale, infatti, con cifre è possibile costruire un insieme di numeri.

( − )

Nel sistema binario, con le stesse cifre è possibile costruire un insieme di soli numeri.

Ciò significa che, utilizzando il sistema binario, per poter scrivere numeri (e dunque informazioni) molto

complessi sarà necessario una grande quantità di cifre. Questo giustifica la necessità di una grande

memoria per un calcolatore.

Numeri naturali

I numeri naturali vengono scritti attraverso il sistema di notazione posizionale già espresso.

Conversione bin ↔ dec

Conversione bin dec

La conversione da numero binario a numero decimale avviene in questo modo:

3 2 1 0

1010 = 1 ∙ 2 + 0 ∙ 2 + 1 ∙ 2 + 0 ∙ 2 = 6

Conversione dec bin

La conversione da numero decimale a numero binario avviene attraverso il metodo dei resti:

1. stabilire se il numero è pari o dispari, e segnare il resto che si ottiene dividendo per 2

2. dividere per due il numero, trascurando il resto

3. continuare con questo processo fino ad ottenere 1/0 come risultato della divisione.

Numeri pari e dispari

Nel sistema binario, un numero è:

.

- pari, se termina con

Ciò significa infatti che, qualsiasi siano le cifre che precedono l’ultima, nella conversione a numero

0

2 0.

decimale sarà moltiplicato per 10 = 2

.

- dispari, se termina con 0

2

Ciò significa infatti che nella conversione a numero decimale sarà sempre presente un .

11 = 3

Notazione abbreviata

Nel sistema numerico binario, alcuni numeri hanno una notazione abbreviata:

10

2

K (kilo): . 20

2

M (mega): .

30

2

G (giga): .

Numeri interi

I numeri interi vengono rappresentati nel sistema binario attraverso due modalità.

Modulo e segno

Nel metodo di Modulo e segno (M&S), il numero viene rappresentato per il suo valore assoluto, preceduto

da un bit di segno:

,

- che ha valore “+”

,

- che ha valore “−“

Ad esempio: 0 0000111 = +3

1 0000111 = −3

Ecco i primi 8 numeri positivi e negativi scritti con il metodo MS:

0000 1000

0 -0

0001 1001

1 -1

0010 1010

2 -2

0011 1011

3 -3

0100 1100

4 -4

0101 1101

5 -5

0110 1110

6 -6

0111 1111

7 -7

Complemento a due

Nel metodo di Complemento a due (C ), all’ultimo bit a sinistra (in rosso) della sequenza (il più influente)

2

viene assegnato un peso numerico:

,

- che ha valore “+”

,

- che ha valore “−“ e dunque inserisce nel numero una componente negativa che è più “pesante”

di tutte le altre

+ + +

3 2 1 0

0001 = 0 ∙ 2 + 0 ∙ 2 + 0 ∙ 2 + 1 ∙ 2 = 1

3 2 1 0

1001 = −1 ∙ 2 + 0 ∙ 2 + 0 ∙ 2 + 1 ∙ 2 = −7

Ecco i primi 8 numeri positivi e negativi scritti con il metodo C2:

0000 1111

0 -1

0001 1110

1 -2

0010 1101

2 -3

0011 1100

3 -4

0100 1011

4 -5

0101 1010

5 -6

0110 1001

6 -7

0111 1000

7 -8

0 1

In questo sistema, aggiungere a sinistra dei numeri positivi, o a sinistra dei numeri negativi, non

modifica assolutamente il risultato: 0001 = +1 = 00000001

1001 = −7 = 11111001

Conversione dec C 2

Per convertire un numero decimale negativo in un numero binario negativo si segue questo metodo:

- calcolare il numero naturale corrispondente:

0100111 = +39

1. invertire le cifre del numero e sommare “”:

1011000 +

0000001 =

1011001 → −39

2. lasciare invariate le cifre da destra fino al primo “” compreso, poi invertire tutte le altre:

1011001 → −39

Confronto M&S – C

2

Il sistema più utilizzato fra i due è il Complemento a due: nel sistema di M&S, infatti, lo zero ha due

1000),

rappresentazioni equivalenti (0000, e per questo gli intervalli di rappresentazione dei due sistemi

sono differenti: −1 −1

(−2 )

, 2

- M&S: − −

,

[− )

- C :

2

Il sistema Complemento a due permette dunque di rappresentare un numero in più.

Numeri frazionari

I numeri frazionari vengono rappresentati nel sistema binario attraverso due modalità.

Virgola fissa

Nel sistema virgola fissa, vengono resi disponibili bit per la parte intera e bit per la parte decimale (di

solito 5 per la parte intera, 4 per quella decimale): i numeri sono stabiliti a priori.

19,6875 = 10011,1011

Questo sistema di rappresentazione è semplice, ma può anche comportare degli sprechi, in quanto non

distingue il numero di cifre intere/decimale di cui i numeri sono effettivamente composti.

Virgola mobile

Nel sistema virgola mobile, o floating point, il numero di bit disponibili viene suddiviso in:

≥ 1 ,

- un numero per la mantissa un numero frazionario compreso tra -1 e 1

≥ 1

- un numero per l’esponente di una base implicita (2)

in modo che il numero frazionario sia rappresentato da:

= ∙ 2

= 3 = 3:

Ad esempio, ponendo base implicita 2, e = 011

= 010 3 3

010 2

= 010011 = 0.011 ∙ 2 = ∙ 2 = = 1.5

8 2

L’unico difetto reale di questo sistema è l’approssimazione che la quantità limitata di bit della mantissa

costringe ad esercitare.

Somma algebrica

La somma algebrica si esegue con i numeri binari esattamente come con i numeri naturali, facendo

1 + 1.

attenzione al riporto ogni volta che viene eseguita la somma Anche se il numero è negativo, non si

considera il primo numero avere peso negativo.

Overflow

L’overflow è un fenomeno aritmetico che si verifica quando il risultato di un’operazione eccede lo spazio

disponibile per poterlo rappresentare.

Overflow nell’addizione naturale

Nell’addizione naturale, si ha un overflow ogni volta che si genera un riporto addizionando i bit della

colonna più significativa. Esso è detto “riporto perduto”.

Overflow nell’addizione algebrica

Nell’addizione algebrica, si può avere overflow senza un “riporto perduto”, ma anche un “riporto perduto”

senza overflow, quando due addendi discordi generano un risultato positivo.

Comunque, l’overflow è prevedibile e rilevabile quando gli addendi sono concordi, e il risultato è discorde

rispetto a loro.

Ad esempio: 125 + 156 =?

01111101 +

10111000 =

(1) 00110101

Aritmetica standard

La definizione del sistema numerico binario non basta a creare un linguaggio privo di ambiguità ed

universale: è necessario anche istituire un sistema standardizzato di trattamento di questo linguaggio. Così

come ogni lingua, oltre al proprio alfabeto, ha le proprie regole grammaticali.

IEEE 754

Lo standard aritmetico 754 definisce:

- formati di rappresentazione del binario naturale, del complemento a due e della virgola mobile

- gli algoritmi di somma, sottrazione, prodotto per tutti i formati numerici

- metodi di arrotondamento dei numeri frazionari

- trattamento degli errori (overflow, divisione per 0)

Grazie a questo standard universale, i programmi sono trasportabili fra macchine diverse senza che per

questo i loro codici vengano letti diversamente.

Funzione dei bit

Lo standard definisce i bit destinati alla rappresentazione dei codici come divisi in:

- 1 bit di segno (S)

- alcuni bit per l’esponente (E)

- altri bit per la mantissa (M)

Eccesso K

Lo standard inserisce nel valore dell’esponente un eccesso per evitare che questo sia negativo:

= −

dove è il numero di bit dedicati all’esponente (E).

Mantissa normalizzata

Lo standard definisce anche la normalizzazione della mantissa (M), secondo cui essa viene rappresentata

fino al primo 1 (modificando di conseguenza l’esponente) per poter risparmiare 1 bit.

Altri sistemi numerici notevoli

Sistema ottale

Il sistema numerico ottale è utilizzato per abbreviare i codici di binari mediamente lunghi.

Anche il sistema ottale utilizza la notazione posizionale, rendendo semplice la conversione in numero

decimale. 2 1 0

534 = 5 ∙ 8 + 3 ∙ 8 + 4 ∙ 8 = 348

8 10

Sistema esadecimale

Il sistema numerico esadecimale è utilizzato per rendere più sintetiche grandi stringhe di cifre scritte sotto

forma di codice binario.

La conversione dal sistema esadecimale a quello binario avviene secondo la semplice regola per cui ogni

cifra esadecimale corrisponde a quattro cifre binarie. Dunque un’informazione lunga 48 cifre binarie può

essere ridotta a sole 12 cifre esadecimali. A = 0110 = 10

16 2 10

Informazione e memoria

Memoria

La memoria di un calcolatore può essere formalizzata come una matrice.

0 0 0 1

0 1 1 0

0 0 1 1

1 1 1 1

0 1 0 0

0 1 1 1

Tale matrice può avere un numero di righe ed un numero di colonne. Ogni sua casella è definita bit.

Parola di memoria ≥

Una parola di memoria (riga, nella matrice) è in grado di contenere una sequenza di bit.

Bit

Il bit è l’unità elementare di informazione (BInary digIT). Il bit è dunque uno spazio definito della memoria,

che può contenere una singola informazione sotto forma di unica cifra binaria: 1, oppure 0. Ad ogni bit è

associato un dispositivo che può assumere, in relazione al valore, due diversi stati di tensione (ad esempio,

alto/basso).

La memoria di un calcolatore si caratterizza dunque per il numero di bit che presenta su una parola di

memoria. Tale numero può essere variabile.

Una sequenza di 8 bit è definita byte.

Indirizzo

La memoria può essere utilizzata dal calcolatore in due modi. Esso può infatti:

- leggere l’informazione di una riga.

- scrivere un’informazione su una riga.

Affinché qualsiasi di queste due operazioni sia possibile è necessario però che il calcolatore conosca

l’indirizzo della riga a cui fare riferimento: quale riga cioè, fra le molteplici che la memoria presenta, debba

essere sottoposta al processo di lettura/scrittura.

Tipologie di memoria

Le memorie informatiche si suddividono in diverse tipologie:

- memoria centrale (RAM)

Questa memoria viene utilizzata per informazioni necessarie al momento (ad esempio durante

l’uso del calcolatore).

E’ caratterizzata dalla velocità, ma dall’impossibilità di conservare dati.

- memoria di massa (ROM)

Questa memoria viene utilizzata per conservare le informazioni anche quando il calcolatore è

spento. E’ caratterizzata però dalla lentezza.

Le informazioni vengono conservate anche senza che il calcolatore riceva corrente, in quanto

qualsiasi memoria di massa possiede dei principi elettromagnetici che “incidono” su di essa le

informazioni sotto forma di 0 ed 1 a seconda della variazione del campo magnetico esercitato.

Fra le memorie di massa si ricordano le più moderne memorie a stato solido, che sono più veloci e

resistenti perché il processo di scrittura dei dati non avviene per via meccanica, ma elettronica.

Digitalizzazione

La digitalizzazione è il processo, caratteristico dell’informatica, che permette di trasmettere o semplificare

informazioni complesse attraverso codici di informazioni semplici. Gran parte dell’informatica si incentra

sul tentativo di analizzare i dati della realtà, o di riprodurli in modo digitale.

Errore e approssimazione

Nella nostra epoca, pressoché tutto può essere digitalizzato: immagini, suoni, odori, fenomeni fisici di ogni

tipo, possono essere letti e analizzati da un computer, piuttosto che riprodotti da vari dispositivi.

Tuttavia, è necessario comprendere che la digitalizzazione comporta, per forza di cose, un’approssimazione

e di conseguenza un errore, necessario a dover ridurre i fenomeni della realtà ad una sequenza di codici

binari.

Principi della digitalizzazione

La digitalizzazione di solito consiste in due fasi ben distinte:

4. la codifica di un fenomeno fisico in un codice binario

5. la riproduzione di un codice binario attraverso un dispositivo per simulare un fenomeno fisico

Generalmente, possiamo affermare che la digitalizzazione può avvenire grazie a dispositivi che, se

sottoposti agli effetti di un fenomeno fisico, chiudono circuiti elettronici che, attivandosi, comunicano al

calcolatore una sequenza di impulsi elettrici caratteristica, legata ad uno specifico carattere, ad un colore o

ad un’onda sonora.

La sequenza scorre attraverso il “bus”, una rete all’interno del calcolatore a cui attingono tutti i suoi

componenti e dispositivi. Dal bus, la sequenza viene registrata nella memoria di massa del calcolatore, e

classificata come sequenza grafica, video o audio (o di altri tipi).

Se dev’essere riprodotta, la sequenza viene comunicata dalla memoria di massa a quella un dispositivo

finalizzato alla riproduzione (come una scheda video/audio), e da qui riprodotta attraverso i mezzi

necessari.

Segni grafici – immagini – video

Se il “fenomeno fisico” è un segno grafico, sia esso un carattere digitato sulla tastiera, una singola

immagine o una sequenza di immagini (video), il fenomeno non cambia: la sequenza di bit in codice binario

viene trasmessa alla scheda video del calcolatore, che a sua volta la trasmette al monitor.

Per le immagini o i segni grafici, le sequenze di bit hanno valore in quanto comunicano al monitor come

accendere i pixel che lo compongono: questi infatti sono composti da tre bande di tre colori diversi (rosso,

verde, blu), e a seconda dell’intensità di ogni colore possono formare qualsiasi tonalità. Dunque le

sequenze trasmesse dalla scheda video al monitor non sono altro che triplette di valori che indicano

l’intensità luminosa da assegnare a ogni banda.

Programmazione

Introduzione

Una volta definito un linguaggio con cui trasmettere informazioni ad un calcolatore, è necessario trovare un

modo per utilizzare il calcolatore per il suo vero scopo: risolvere problemi. La programmazione consiste

nell’istituzione di una logica nell’eseguire operazioni per la risoluzione di un problema. Tale logica deve

essere rigorosa e non ambigua, in modo da essere perfettamente compresa dalla macchina.

Algoritmo

Il primo passo di una programmazione è la scrittura di un algoritmo: questo rappresenta, in forma

totalmente teorica e comprensibile dall’uomo, la strategia di risoluzione di un problema, espressa in

termini di operazioni logiche.

Linguaggio di programmazione

Per trasmettere un algoritmo, ossia in definitiva una serie di istruzioni, ad un calcolatore, è necessario

tradurre tale algoritmo in una serie di codici binari che la macchina possa comprendere e conservare.

Un linguaggio di programmazione (ne esistono diversi) permette di scrivere in termini logici ancora

comprensibili dall’uomo ciò che, in seguito, verrà letto dalla macchina come una sequenza di codici binari.

Compilatore e interprete

Una volta scritto un programma, sono due le modalità di procedere:

6. un programma detto compilatore analizza il programma e, se questo è corretto, lo traduce in un

file .exe (eseguibile) composto da una sequenza di codici binari, successivamente trasmessa alla

memoria del calcolatore.

7. un programma detto interprete traduce in codici binari le istruzioni scritte nel linguaggio di

programmazione durante la scrittura, anche se il programma non è finito.

Linguaggio macchina

In entrambi i casi, il file sorgente, scritto in linguaggio di programmazione ad alto livello, viene tradotto in

linguaggio macchina, ovvero in un codice binario eseguibile dal processore del calcolatore.

Algebra di Boole

L’algebra di Boole, inventata dall’omonimo matematico a metà dell’Ottocento, è una branca della

matematica che si basa su operazioni logiche.

Vero e falso

L’algebra di Boole si basa su due operandi logici fondamentali:

8. vero, associato in informatica al valore 1

9. falso, associato in informatica al valore 0

Operatori logici

Oltre agli operandi, nell’algebra di Boole si utilizzano anche tre operatori logici fondamentali: OR, AND e

NOT. Questi sono definiti dalle tabelle di verità, che associano alle quattro possibili coppie di operandi un

risultato.

OR

L’OR, o somma logica, è d

Anteprima
Vedrai una selezione di 21 pagine su 98
Appunti di Informatica A Pag. 1 Appunti di Informatica A Pag. 2
Anteprima di 21 pagg. su 98.
Scarica il documento per vederlo tutto.
Appunti di Informatica A Pag. 6
Anteprima di 21 pagg. su 98.
Scarica il documento per vederlo tutto.
Appunti di Informatica A Pag. 11
Anteprima di 21 pagg. su 98.
Scarica il documento per vederlo tutto.
Appunti di Informatica A Pag. 16
Anteprima di 21 pagg. su 98.
Scarica il documento per vederlo tutto.
Appunti di Informatica A Pag. 21
Anteprima di 21 pagg. su 98.
Scarica il documento per vederlo tutto.
Appunti di Informatica A Pag. 26
Anteprima di 21 pagg. su 98.
Scarica il documento per vederlo tutto.
Appunti di Informatica A Pag. 31
Anteprima di 21 pagg. su 98.
Scarica il documento per vederlo tutto.
Appunti di Informatica A Pag. 36
Anteprima di 21 pagg. su 98.
Scarica il documento per vederlo tutto.
Appunti di Informatica A Pag. 41
Anteprima di 21 pagg. su 98.
Scarica il documento per vederlo tutto.
Appunti di Informatica A Pag. 46
Anteprima di 21 pagg. su 98.
Scarica il documento per vederlo tutto.
Appunti di Informatica A Pag. 51
Anteprima di 21 pagg. su 98.
Scarica il documento per vederlo tutto.
Appunti di Informatica A Pag. 56
Anteprima di 21 pagg. su 98.
Scarica il documento per vederlo tutto.
Appunti di Informatica A Pag. 61
Anteprima di 21 pagg. su 98.
Scarica il documento per vederlo tutto.
Appunti di Informatica A Pag. 66
Anteprima di 21 pagg. su 98.
Scarica il documento per vederlo tutto.
Appunti di Informatica A Pag. 71
Anteprima di 21 pagg. su 98.
Scarica il documento per vederlo tutto.
Appunti di Informatica A Pag. 76
Anteprima di 21 pagg. su 98.
Scarica il documento per vederlo tutto.
Appunti di Informatica A Pag. 81
Anteprima di 21 pagg. su 98.
Scarica il documento per vederlo tutto.
Appunti di Informatica A Pag. 86
Anteprima di 21 pagg. su 98.
Scarica il documento per vederlo tutto.
Appunti di Informatica A Pag. 91
Anteprima di 21 pagg. su 98.
Scarica il documento per vederlo tutto.
Appunti di Informatica A Pag. 96
1 su 98
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Ingegneria industriale e dell'informazione ING-INF/05 Sistemi di elaborazione delle informazioni

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher mrtambourine91 di informazioni apprese con la frequenza delle lezioni di Informatica A e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Politecnico di Milano o del prof Fuggetta Alfonso.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community