vuoi
o PayPal
tutte le volte che vuoi
Codifica ASCII e Unicode
ASCII è una codifica standard universalmente accettata nota come ASCII. Questa codifica ha i primi 32 codici riservati per alcuni segni di controllo e gli altri 7 bit per rappresentare ogni carattere (128 caratteri distinti). Le lettere accentate non fanno parte del codice ASCII, pertanto si usa lo stesso esteso a 8 bit (che comprende 128 caratteri della codifica standard ei rimanenti, che fanno parte dell'insieme noto come ISO Latin-1, sono caratteri usati nelle principali lingue dell'Europa occidentale + l'€). Il codice ASCII da un lato è molto sicuro, ma dall'altro è limitante perché, nelle varie tabelle, lo stesso codice rappresenta un carattere diverso a seconda del paese in cui ci si trova. Per sopperire a queste limitazioni è di utilizzo ormai comune il codice UNICODE su 16 bit in grado di rappresentare 64K caratteri; questi hanno una codifica unica in tutto il mondo e una grande diffusione industriale (Microsoft, Apple, ...).
è necessario convertire il segnale audio in un formato adatto alla trasmissione, come ad esempio il formato MP3. IMMAGINI: Anche le immagini vengono digitalizzate per poter essere rappresentate sui dispositivi elettronici. Il processo di digitalizzazione delle immagini prevede due fasi principali: 1. Campionamento: viene presa una serie di punti dell'immagine e viene misurato il colore di ogni punto. Questi punti vengono chiamati pixel e rappresentano l'unità di base dell'immagine digitale. 2. Quantizzazione: ogni pixel viene rappresentato con un numero finito di bit, che determina il numero di colori disponibili per ogni pixel. Ad esempio, un'immagine a 8 bit per pixel può rappresentare fino a 256 colori diversi. L'accuratezza della rappresentazione dell'immagine dipende dalla risoluzione dell'immagine (cioè il numero di pixel per unità di area) e dal numero di bit utilizzati per rappresentare ogni pixel. Per visualizzare correttamente le immagini digitali sui dispositivi elettronici, è necessario utilizzare tag html come- risoluzione: Numero di pixel per unità di superficie;
- profondità: numero di bit utilizzati per codificare l'informazione colore;
- dinamica: differenza tra il valore massimo e minimo;
- dimensione: numero di pixel che costituiscono l'immagine;
- tipo di colori: immagini binarie (in bianco e nero che occupano ovviamente meno spazio in memoria), monocromatiche o a colori;
(profondità 8) che ammette 256 gradazioni di grigio per ogni punto. Un'immagine a colori invece, "True color", è rappresentata da tre byte per pixel (profondità 24), e ammette 16 milioni di colori diversi. Tutti i colori sono ottenuti mescolando rosso verde e blu (rappresentazione RGB): i colori vanno da 000000 che è il bianco e FFFFFF che è il nero, considerando che a due a due, i valori vanno da zero ad F, e corrispondono rispettivamente a rosso verde e blu. A volte è necessario effettuare dei compromessi tra qualità dell'immagine e dimensione del file soprattutto quando questa deve essere trasmessa; si ricorre quindi a tecniche di compressione che cercano di raggruppare le aree che hanno caratteristiche comuni, ad esempio, i più usati: GIF e JPEG. Le immagini movimento, i video, possiedono un numero abbastanza alto di fotogrammi fissi (24/30 al secondo) che l'occhio umano percepisce come un movimento continuo.
Percodificare il fotogramma unitario, lo spazio di memoria richiesto sarebbe enorme e per tale motivo si ricorre ad un economizzazione della codifica, che si interessa solo delle differenze tra un fotogramma e l'altro (MPEG). Come per tutte le altre informazioni, anche i numeri sono rappresentati tramite una sequenza di bit che, come detto prima, non dice cosa essa rappresenta. Per consentire la corretta interpretazione delle sequenze binarie, vengono utilizzati dei meccanismi di tipizzazione tipo associando un tipo a ciascuna sequenza di bit. In tal modo questa può essere interpretata come un dato solo conoscendone il tipo. In particolare, vogliamo trattare numeri naturali, interi e reali con la consapevolezza di eventuali limiti ed approssimazioni nella loro rappresentazione. NUMERI NATURALI Trattiamo in questo caso dei numeri interi senza segno. Nella storia della rappresentazione dei numeri sono presenti esempi di metodi posizionali e non: - non posizionale: hanno regole proprie cheRendono difficile le esecuzioni dei calcoli (es. I II IIIIV…)-posizionali: numeri in modo compatto e rende più semplice l'effettuazione dei calcoli (es. 1 23…)
È logico dunque considerare la notazione posizionale, nota anche come annotazione arababaseo a 10, come metodo principale. Essa permette di rappresentare un numero con una sequenza di simboli (cifre) appartenenti a un alfabeto (insieme di B). B è detta base dellarappresentazione. Il valore di un numero è ricavabile a partire dal valore rappresentato da ogni cifra in base alla posizione che occupa nella sequenza, e una sequenza di cifre (stringa) non è interpretabile se non si precisa la base in cui è espressa. Es. in base 10, il simbolo ’1’ ha valore 1 se è presente nelle unità, 10 se è presente nelle decine, 100 se presente nelle centinaia. dalla sommatoria di ho una cifra al posto k, per la
Il valore di un numero, in formula, è
datobase elevata a k. In tal modo ogni numero può essere espresso in modo univoco in una qualunque base, nell'ordine dalla meno alla più significativa. Tutte le notazioni posizionali usano le stesse regole per le operazioni (somme, sottrazioni, moltiplicazioni, divisioni) indipendentemente dalla base adottata. Qualunque moltiplicazione divisione può essere espressa con somme, sottrazioni, (Spostando tutte le cifre a sinistra di una posizione e moltiplicando per la base) o (Spostando tutte le cifre a destra e dividendo per la base). In matematica, le operazioni sui naturali non danno mai luogo ad errori, ma invece in un elaboratore si possono generare errori a causa dell'impossibilità di rappresentare tutti gli infiniti numeri naturali. Si ricorda infatti che con N bit il massimo numero rappresentabile è 2ᴺ-1, e che qualunque operazione che implichi un risultato maggiore sarà un 'Overflow'. In quest'ultimo caso, il
risultato ottenuto sarà completamente errato perché è andato perso proprio il contributo più significativo (MSB). NUMERI INTERI I numeri interi presentano come problema principale la rappresentazione del segno meno e le operazioni con questi eseguite. Le possibilità che abbiamo sono: - la rappresentazione in modulo e segno: è semplice e intuitivo in quanto si utilizza il bit a sinistra per rappresentare il segno (0 se è positivo e 1 se è negativo), e la notazione posizionale per rappresentare il modulo del numero. Il metodo che si utilizza per il segno però induce a commettere equivoci nella codifica del numero perché qualunque intero deve essere rappresentato col segno, anche lo zero risulta avere due diverse rappresentazioni. Inoltre, un altro errore che può essere commesso è con le operazioni, in quanto non sarà più verificata l'uguaglianza X+(-X) = 0 con tale metodo.rappresentazione in complemento a due: con tale metodo l'elaboratore sfrutta le nozioni che possedeva per i numeri naturali e per tale motivo le operazioni saranno più agevolate. Per rappresentare quelli positivi si utilizza il metodo della rappresentazione in modulo e segno, mentre per i negativi si inverte ogni cifra della notazione posizionale del numero (Esempio: +3=00000011 (complementazione a due) e gli si somma 1. e -3=0000011+1). Con tale metodo i numeri rappresentabili dati n bit sono compresi tra -2^(n-1) e 2^(n-1) -1 (lo zero rientra tra i positivi). Nelle operazioni talvolta è bene ignorare il riporto e il prestito affinché il risultato torni; questo perché poiché si opera su N bit, questa è in realtà una aritmetica modulare, di modulo 2ᴺ, e ignorando riporti (o inserendo prestiti) si introduce un errore pari a 2ᴺ che, quindi, con un'operazione di modulo 2ᴺ scompare. Ovviamente se viene invaso il bit piùsignificativo l'errore potrebbe essere evidente. In tale metodo lo SHL e lo SHR possono essere mantenuti affinché lo SHR tenga (Shift aritmetico) conto del segno
NUMERI REALI
Anche i numeri reali possono essere rappresentati in notazione posizionale se si divide la parte intera da quella frazionaria. La prima verrà calcolata come i numeri interi e si userà l'algoritmo delle divisioni successive, per la seconda invece si dovrà considerare la potenza negativa della base B e si introdurrà un altro algoritmo quello delle divisioni successive (invirgola fissa):
- si moltiplica la parte frazionaria per B e si accantona la cifra corrispondente alla parte intera
- se prima o poi la parte frazionaria si azzera, il numero è rappresentabile in forma finita
Un altro metodo è quello della virgola mobile che risparmia la scrittura di molte cifre utilizzando il teorema matematico secondo cui è sempre possibile esprimere il valore di
unv = m * Besp + r * Besp-N