

Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Il sistema binario, la conversione tra basi diverse (decimale, binaria e esadecimale) e le codifiche ascii, unicode e utf-8 per i caratteri. Vengono inoltre illustrate le tecniche di modulo e segno, complemento a 1 e a 2, eccesso 2n-1 e la rappresentazione di immagini e suoni in formato digitale.
Tipologia: Appunti
1 / 3
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!


DA BASE 2 A BASE 10: si moltiplica ciascun numero con la potenza corrispondente. Se il numero è in virgola mobile, allora la potenza dopo la virgola sarà negativa. DA BASE 10 A BASE 2 : si divide per 2 e si segnano i resti, poi si legge il numero corrispondente dal basso verso l’alto. Se il numero è in virgola mobile, allora si moltiplica la parte decimale per 2 e si segna il numero corrispondente prima della virgola finche’ il numero non diventa intero. La parte decimale si legge normalmente dall’alto verso il basso. BASE 16 : la conversione funziona allo stesso modo, ma la particolarità è che i numeri 10, 11, 12, 13, 14 e 15 corrispondono rispettivamente a A, B, C, D, E e F. MODULO E SEGNO : per convertire un numero con la tecnica modulo e segno innanzitutto converto il numero in binario, poi aggiungo abbastanza zeri a sinistra per raggiungere il numero di bit richiesti. Infine, pongo il primo numero a 0 se il numero è positivo oppure a 1 se è negativo. COMPLEMENTO A 1 : per convertire un numero in complemento a 1 occorre innanzitutto controllare che il numero sia rappresentabile: per farlo basta guardare se il numero rientra all’interno dell’intervallo [- (2n-1^ - 1), 2n-1^ -1]. Se è rappresentabile allora controllo se il numero è negativo; nel caso in cui lo fosse, calcolo il suo opposto e poi calcolo il numero ottenuto in modulo e segno. Infine, per realizzare la conversione in complemento a 1 basta invertire tutti i bit. COMPLEMENTO A 2: per convertire un numero in complemento a 2 occorre innanzitutto controllare che il numero sia rappresentabile: per farlo basta guardare se il numero rientra all’interno dell’intervallo [-2n-1,2n-1-1]. Se è rappresentabile allora controllo se il numero è negativo; nel caso in cui lo fosse, calcolo il suo opposto e poi calcolo il numero ottenuto in modulo e segno. Infine, per realizzare la conversione in complemento a 2 basta invertire tutti i bit e poi aggiungere 1 bit sul bit meno significativo (il bit più a destra). ECCESSO 2N-1 : per convertire un numero in eccesso 2n-1^ occorre innanzitutto convertire sia il numero che la potenza di 2 in decimale. Dopodiché basta sottrarre al numero la potenza di 2. STANDARD IEEE 754 : per convertire un numero nello Standard IEEE 754 occorre innanzitutto convertire in binario la parte intera, convertire in binario la parte decimale e poi unire le due parti. Dopodiché, occorre scrivere questo numero in notazione scientifica. Lo Standard IEEE 754 si compone di tre parti: segno, esponente e mantissa. Quindi, il primo bit del numero che stiamo cercando dovrà essere 0 se il numero è positivo o 1 se il numero è negativo. Dopo aver scritto il segno si prende l’esponente della notazione scientifica e lo si scrive in binario. Infine, la mantissa è formata da 23 bit, quindi si scrivono tutti i numeri dopo la virgola e, se mancano dei bit per arrivare a 23, si aggiungono degli zeri a destra.
CODICE ASCII : i caratteri ASCII (American Standard Code for Information Interchange, cioè standard americano per lo scambio di informazioni) comprendono lettere maiuscole e minuscole, cifre, simboli di punteggiatura e alcuni simboli matematici. I caratteri ASCII sono definiti da 7 bit, permettendo un totale di 128 caratteri distinti e ogni carattere è memorizzato in un byte distinto. I codici compresi tra 0 e 1F (esadecimale) sono caratteri di controllo e non vengono stampati. Tra questi troviamo, ad esempio, CR (Carriage Return, ritorno a capo), con codice 00001101. CODICE UNICODE : il codice UNICODE è nato per aggiungere caratteri al codice ASCII siccome alcune lingue necessitano di accenti o simboli particolari ed è presto diventato uno Standard Internazionale, infatti è supportato da alcuni linguaggi di programmazione come Java, da alcuni sistemi operativi come Windows XP e da molte applicazioni. L’idea di base di questa codifica consiste nell’assegnare ad ogni carattere un valore a 16 bit, chiamato code point. Quindi, non esistono caratteri o sequenze speciali composte da più byte e il fatto che ogni simbolo sia composto da 16 bit rende più semplice la scrittura dei programmi. CODICE UTF-8 : anche se migliore della codifica ASCII ben presto UNICODE esaurisce i code point; quindi, nasce la codifica UTF-8 UCS Transformation Format, (dove UCS sta per Universal Character Set), che è l’insieme dei caratteri dominanti nel World Wide Web. I codici UTF-8 sono di lunghezza variabile, da 1 a 4 byte e possono codificare circa due miliardi di caratteri. Quindi, codici da 0 a 127 corrispondono ai caratteri ASCII e possono essere espressi in 1 byte; per gli altri caratteri, invece, il bit più significativo del primo byte è impostato a 1 per indicare che seguono uno o più byte aggiuntivi.
Per la codifica delle immagini occorre considerare che ogni pezzettino dell’immagine viene rappresentato con un certo numero di bit. Quindi, l’immagine viene suddivisa in tanti quadratini, chiamati pixel. Inoltre, maggiore è il numero di pixel, quindi più piccoli sono i pixel, migliore è la risoluzione dell’immagine. Assegnando un bit ad ogni pixel è possibile codificare solo immagini senza livelli di chiaroscuro perché’ il bit può essere solo 0 (spento) oppure 1 (acceso). Per codificare le immagini in bianco e nero, invece, si stabilisce per ogni pixel il livello medio di grigio, a cui viene assegnata convenzionalmente una rappresentazione binaria. Ad esempio, se 0 è bianco e 1 è nero, allora 0,5 sarà un grigio perfettamente a metà tra il bianco e il nero. Per memorizzare un pixel, in questo caso, non è più sufficiente un solo bit: infatti, se utilizziamo 4 bit possiamo rappresentare 2^4 = 16 livelli di grigio, se ne utilizziamo 8 possiamo rappresentare 2^8 = 256 livelli di grigio e cosi via… allo stesso modo possiamo codificare le immagini a colori, individuando un certo numero di sfumature differenti. La rappresentazione di un’immagine mediante la codifica dei pixel viene chiamata codifica bitmap e l’immagine si dice essere discretizzata. La rappresentazione di un’immagine mediante il suo bitmap richiede una notevole quantità di spazio. Nello specifico, per sapere quanti byte occorrono per memorizzare l’immagine occorre innanzitutto trovare il numero totale di pixel utilizzati moltiplicando la i pixel verticali per i pixel orizzontali; in seguito si moltiplica il numero totale di pixel per il numero di bit necessari per