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


Rappresentazione binaria, Appunti di Reti Logiche

In questo documento possiamo trovare la rappresentazione binaria

Tipologia: Appunti

2020/2021

Caricato il 30/09/2022

loris-ssss
loris-ssss 🇮🇹

5

(2)

8 documenti

1 / 6

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Informazione: riduzione di incertezza
• La minima incertezza è data da 2 alternative
• La scelta elementare tra 2 alternative contiene la quantità minima di informazioni
• Bit: (Binary digit) cifra binaria che codifica la scelta elementare tra 2 alternative (unità di informazione)
Parola: sequenza di N caratteri (o cifre) presi da un dato alfabeto finito di S simboli (codifica di informazioni
attraverso simboli)
• Ci sono Sⁿ parole diverse di N caratteri prese dallo stesso alfabeto di S simboli
• Esistono Sⁿ diverse configurazioni di N caratteri presi da un alfabeto di S simboli
• Una parola binaria è composta da bit, definiti nell'alfabeto binario B={0, 1}
• Byte: parola binaria di 8 bit (configurazioni possibili: 2⁸=256)
Codice: elemento sintattico descritto o come un insieme di parole, o come un insieme di regole
• Codeword: parola appartenente al codice
• Codifica: assegnazione di parole in codice con gli elementi di un insieme secondo una data regola
Proprietà:
Irridondante: ad ogni elemento è assegnata una parola univoca (cioè un concetto ha almeno una
parola per essere rappresentato)
Lunghezza costante: tutte le parole in codice hanno la stessa lunghezza
Esatto: tutti gli elementi sono codificati e non ci sono elementi associati alla stessa parola (cioè se ci
permette di rappresentare in maniera non ambigua le informazioni che vogliamo rappresentare)
Il numero minimo di cifre di una codifica esatta a lunghezza costante di un insieme di M elementi è
N = [log M] Sⁿ ≥ M
Proprietà:
M x M = Sⁿ¹ x Sⁿ² = S N 1 ⁿ¹²
log M + log M = M + M = log (M x M)
M = (Sⁿ) = S
k x log M = k x N = log M
log ₛ₁ M= 𝑙𝑜𝑔ₛ₂ 𝑀
𝑙𝑜𝑔ₛ₂ 𝑆₁
Un insieme illimitato contiene elementi infiniti
• Esempio: numeri interi
• Gli insiemi infiniti non possono essere codificati esattamente
• Limitazione:
• Per essere codificato digitalmente, l'insieme deve essere limitato a un sottoinsieme limitato e finito
• Nella maggior parte dei casi questo viene fatto codificando solo gli elementi all'interno dei limiti inferiore e
superiore dati
• Esempio: numeri interi tra 0 e 999
• Il sottoinsieme limitato può essere codificato esattamente
Un insieme continuo contiene elementi infiniti
• Esempio: numeri reali in un dato intervallo, punti in un quadrato, ...
• Discretizzazione:
• Per essere codificato digitalmente, il set deve essere discretizzato:
partizionato in un numero discreto di sottoinsiemi non sovrapposti che coprono l'intero insieme
• I codici sono associati ai sottoinsiemi
• La codifica risultante è approssimata
pf3
pf4
pf5

Anteprima parziale del testo

Scarica Rappresentazione binaria e più Appunti in PDF di Reti Logiche solo su Docsity!

Informazione: riduzione di incertezza

  • La minima incertezza è data da 2 alternative
  • La scelta elementare tra 2 alternative contiene la quantità minima di informazioni
  • Bit: ( Bi nary digi t ) cifra binaria che codifica la scelta elementare tra 2 alternative (unità di informazione) Parola: sequenza di N caratteri (o cifre) presi da un dato alfabeto finito di S simboli (codifica di informazioni attraverso simboli)
  • Ci sono Sⁿ parole diverse di N caratteri prese dallo stesso alfabeto di S simboli
  • Esistono Sⁿ diverse configurazioni di N caratteri presi da un alfabeto di S simboli
  • Una parola binaria è composta da bit, definiti nell'alfabeto binario B={0, 1}
  • Byte: parola binaria di 8 bit (configurazioni possibili: 2⁸=256) Codice: elemento sintattico descritto o come un insieme di parole, o come un insieme di regole
  • Codeword: parola appartenente al codice
  • Codifica: assegnazione di parole in codice con gli elementi di un insieme secondo una data regola Proprietà:
    • Irridondante: ad ogni elemento è assegnata una parola univoca (cioè un concetto ha almeno una parola per essere rappresentato)
    • Lunghezza costante: tutte le parole in codice hanno la stessa lunghezza
    • Esatto: tutti gli elementi sono codificati e non ci sono elementi associati alla stessa parola (cioè se ci permette di rappresentare in maniera non ambigua le informazioni che vogliamo rappresentare) Il numero minimo di cifre di una codifica esatta a lunghezza costante di un insieme di M elementi è N = [logₛ M] → Sⁿ ≥ M Proprietà: M₁ x M₂ = Sⁿ¹ x Sⁿ² = S N 1 ⁿ¹⁺ⁿ² logₛ M₁ + logₛ M₂ = M₁ + M₂ = logₛ (M₁ x M₂) Mᵏ = (Sⁿ)ᵏ = S ᵏᕽⁿ k x logₛ M = k x N = logₛ Mᵏ log ₛ₁ M= 𝑙𝑜𝑔ₛ₂ 𝑀 𝑙𝑜𝑔ₛ₂ 𝑆₁ Un insieme illimitato contiene elementi infiniti
  • Esempio: numeri interi
  • Gli insiemi infiniti non possono essere codificati esattamente
  • Limitazione:
  • Per essere codificato digitalmente, l'insieme deve essere limitato a un sottoinsieme limitato e finito
  • Nella maggior parte dei casi questo viene fatto codificando solo gli elementi all'interno dei limiti inferiore e superiore dati
  • Esempio: numeri interi tra 0 e 999
  • Il sottoinsieme limitato può essere codificato esattamente Un insieme continuo contiene elementi infiniti
  • Esempio: numeri reali in un dato intervallo, punti in un quadrato, ...
  • Discretizzazione:
  • Per essere codificato digitalmente, il set deve essere discretizzato : partizionato in un numero discreto di sottoinsiemi non sovrapposti che coprono l'intero insieme
  • I codici sono associati ai sottoinsiemi
  • La codifica risultante è approssimata

Notazione posizionale di interi senza segno Cioè un sistema di numerazione posizionale è un sistema di numerazione in cui i simboli usati per scrivere i numeri assumono valori diversi a seconda della posizione che occupano nella notazione.

  • La rappresentazione posizionale in base b di un numero intero di n cifre ha la forma
  • Il valore del numero è
  • n cifre codificano tutti i numeri interi da 0 a bⁿ - 1 Esempio: b=2, n=5 10011=116+12+1*1= 11111=31=2⁵ - 1 Conversione di base
  • Dalla base b al decimale:
  • Da decimale a base b: le cifre da c₀ a cₙ₋₁ si ottengono come resto delle successive divisioni per b del numero digitale Esempio: Notazione in virgola fissa di numeri razionali senza segno
  • La rappresentazione posizionale in base b di un numero razionale di n+m cifre ha la forma
  • Il valore del numero è
  • n+m cifre codificano tutti i numeri razionali della forma con
  • Da base b a decimale:
  • Da decimale a base b:
  • Soluzione 1: Dato un numero digitale X=Num/2ᵐ , converti Num e sposta la virgola m posizioni a sinistra
  • Soluzione 2: Dato un numero digitale X=X int .X frac , convertire la parte intera X int come spiegato prima, quindi convertire la parte frazionaria X frac ottenendo ogni cifra come parte intera del risultato delle successive moltiplicazioni per b: Esempio:
  • s = segno (1 bit)
  • M = Mantissa (m bit)
  • b = base (0 bit)
  • se = segno dell'esponente (1 bit)
  • E = esponente (e bit) La codifica dei numeri in virgola mobile richiede parole di n cifre, con n=1+m+1+e
  1. Partire da una codifica binaria a virgola fissa utilizzando un numero sufficiente di bit
  2. Valutare il numero di turni necessari per portare l'1 più significativo in posizione – 1
  3. Prendi come mantissa (M) gli m bit più significativi (a partire dal primo 1) della codifica a virgola fissa
  4. Impostare se=1 se il numero è inferiore a 0,5, se=0 altrimenti
  5. Assegnare all'esponente E la rappresentazione binaria del numero di spostamenti calcolati al passo 2
  6. Impostare i bit di segno come al solito Negli ultimi due esempi troviamo un’approssimazione a causa dell’impossibilità di rappresentare quei numeri. Per quanto riguarda invece le operazioni aritmetiche con virgola fissa possiamo fare nel seguente modo: 0.310³ + 0.410² = (0.3 + 0.4010⁻¹)10³ = (0.3 + 0.04)10³ = 0.3410³ 0.310³ * 0.410² = (0.3 * 0.40 * 10³ * 10² = 0.3 * 0.4 * 10³⁺² Come è fatta una vera rappresentazione dei numeri che utilizziamo abitualmente? Innanzitutto le rappresentazioni sono frutto di convenzioni. Le convenzioni che consentono interoperatività tra computer o sistemi diversi sono chiamati standard. Tra queste troviamo la ISO o l'IEEE 754 (organizzazioni di standardizzazione). Ecco come funziona lo standard IEEE 754: Aumentando la quantità di bit aumenta sia la quantità di numeri che possiamo rappresentare sia il dettaglio con il quale rappresentarli. Il segno dell’esponente non c’è perché anziché utilizzare il segno, al numero senza segno viene sottratto un bias, cioè una costante che verrà sottratta all’esponente. Per determinare il segno verrà elevato alla 0 ((-1)⁰=1) o a 1 ((-1)¹=-1) il (-1) 1 .M per risparmiare un bit perché il bit più significativo deve essere 1 (il primo della manfissa) (non zero = diverso da zero) NaN = risultato di un'operazione quando il suo valore non va preso in considerazione Rappresentazione di testo (cioè una sequenza di lettere): Vengono convertite le singole lettere in sequenza di numeri, che sono a lunghezza costante e non ridondanti. Per rappresentarle tutte bisogna usare una sequenza di bit, ed è stata scelta una sequenza di 7 bit (ASCII).

Poi si è notato che di un byte si sarebbe perso un bit così è stata creata anche la versione estesa di 8 bit. Ogni carattere sarà così uguale al numero di caratteri. La rappresentazione di immagini nel linguaggio digitale è data dal colore che assumono i punti sulla superficie. Possiamo riscontrare problemi perchè in un segmento possono esistere infiniti punti e infiniti colori; è per questo che dobbiamo applicare la discretizzazione, cioè suddividiamo l’intervallo in sottointervalli nei quali cercheremo di distinguerli tra di loro ma non pretenderemo di distinguere i singoli punti; queste inducono una griglia che partiziona il rettangolo dentro il quale stiamo disegnando la nostra immagine. Ognuno degli elementi che questa griglia crea lo chiamiamo pixel, ed è a questo che applicheremo il colore. Anche per i colori decideremo di utilizzare una quantità limitata di possibili colori. Un numero limitato di colori (profondità di colore) verranno applicati ad un numero limitato di pixel (risoluzione dell’immagine). Se a questa matrice (di pixel) noi attribuiamo un ordine di lettura dei pixel, possiamo vedere l’immagine come una sequenza di pixel. Ad una configurazione di bit vengono rappresentate varietà di un certo colore diverso (che sarebbero infiniti). La dimensione di un’immagine in bit si ricaverà quindi nel seguente modo: nₓ * nᵧ * log₂ nₗₑᵥ ⇒ dove nₓ e nᵧ sono i pixel orizzontali e verticali e nₗₑᵥ sta per numero di colori. Es. 1080 * 1920 * log₂ 16 Mln bit = 1080 * 1920 * 24 bit o 3 byte ≅ 48 Mbit o 6 Mbyte Per creare i colori spesso si una sintesi additiva, cioè si usa un composto di 3 colori (RGB, che assieme formano il bianco) con combinazioni di diverse intensità luminosa. Rappresentazione di segnali (cioè una grandezza fisica che varia nel tempo, es. temperatura o voce) possono essere: - analogici, cioè variano con continuità nel tempo e nei valori (senza interruzioni improv.)

  • digitali Per l’osservazione di un segnale, siamo obbligati a limitare in un intervallo di tempo limitato e a sintetizzarlo (perché gli istanti sono infiniti) attraverso la discretizzazione; è necessario poi limitare il range di valori rappresentabili e discretizzare i valori. Della griglia che si è creata, noi utilizzeremo i nodi per approssimare e rappresentare i valori. Alcuni dati però non verranno rappresentati, a seconda della frequenza di discretizzazione: Chiamiamo campionamento la frequenza nel tempo e quantizzazione nei valori. Per calcolare la dimensione della rappresentazione del segnale dovremo: frequenza di campionamento * durata del segnale * dimensione della rappresentazione dei campioni = s(rate) * T * s(size) = s(rate) * T * log₂ n(lev) (serie temporale) Solitamente noi digitalizziamo i file audio. Rappresentazione video è un segnale che non è scalare, ma una matrice di valori che cambiano nel tempo. I video non sono altro che una sequenza di immagini che si succedono velocemente per dare l’effetto di movimento; queste tecniche non sono nate con l’era digitale ma con la nascita del cinema. è stato calcolato che i nostri occhi riescono a percepire fino a 1/25 di secondo (non ha quindi senso andare oltre); però si è scoperto che se tra questi fotogrammi si inserisce l’otturazione, l’occhio nota uno sfarfallio; è stato deciso allora di riproporre ogni fotogramma due volte. Andiamo allora a calcolare la dimensione di un video: size = s(rate) * T * s(size) = s(rate) * T * log₂ n(col) * n(x) * n(y) F(rate) = 25H₂ T=1’ n(col)=16 Mln n(x) * n(y)=1080* 25 * 1 * 60 * 1080 * 1920 * log₂ 16 Mln bit ⇒ 1500 * 2Mln * 24bit ⇒ 3G * 3byte = 9 Gbyte Compressione, possiamo ridurre le dimensioni in diverse maniera:
  • diminuendo la qualità del video o della foto (diminuendo pixel, frame rate o quantità di colori) ( lossy , es. jpeg)
  • lossless, usata sfruttando la ridondanza, tramite questa non c’è una perdita di informazioni, non è sempre possibile, permette di recuperare l’originale e non è a lunghezza costante ma variabile. Es. RLE ⇒ codifica di lunghezza delle sequenze di pixel Modello di errore