Che cos'è la codifica ponderata e non ponderata?

Sfondo astratto codice binario

La codifica ponderata aiuta con le conversioni binarie.

Credito immagine: leszekglasner/iStock/Getty Images

I circuiti digitali che vedi all'interno dei computer e di altri dispositivi elettronici possono comunicare solo tramite due concetti: acceso e spento. Questi concetti ci vengono rappresentati sotto forma di numerazione binaria, dove 0 è spento e 1 è acceso. Per comunicare veramente con un computer, sono necessarie ulteriori conversioni per portare il linguaggio del computer in un formato più umano. Il primo passo nel processo di conversione è convertire la codifica binaria in un sistema decimale più leggibile. La codifica pesata e non pesata si riferisce al metodo in cui i numeri binari vengono convertiti in decimali. Con la codifica ponderata, a ogni cifra di un numero viene assegnato un valore ponderato prima della conversione. I metodi di codifica non ponderati utilizzano formule leggermente diverse ma eseguono le conversioni senza il valore del peso.

Prima di comprendere la codifica pesata, è necessario comprendere i sistemi di numerazione e la notazione posizionale.

Video del giorno

Sistemi di numerazione

I sistemi di numerazione sono indicati da una base, che è il numero più alto su cui puoi contare prima di dover aggiungere un'altra cifra. Ad esempio, il sistema di numerazione che tutti noi impariamo da bambini è chiamato base 10, perché i primi dieci numeri nella sequenza, da 0 a 9, possono essere contati utilizzando singole cifre. Una volta arrivato a 10, devi spostare tutto e contare in numeri a due cifre fino ad arrivare a 100, quindi conti in numeri a tre cifre. Questo sistema in base 10 è anche chiamato sistema decimale.

Notazione posizionale

La notazione posizionale si verifica quando assegni un valore posizionale a ciascuna cifra in un numero reale, da destra a sinistra. Per il numero 4782, ad esempio, partendo dal 2 e contando da destra verso sinistra, le posizioni sono 0, 1, 2, 3 come di seguito:

4782 = numero 3210 = valori posizionali

Codifica ponderata

Nell'esempio sopra, le assegnazioni di posizione da 0 a 3 possono essere i valori ponderati delle loro cifre assegnate. Quindi il peso del 4 è 3 e il peso del 7 è 2. Il peso di un numero entra in gioco quando si converte da qualsiasi sistema di numerazione a base al sistema di numerazione decimale (base 10). Una formula per convertire un numero ponderato consiste nel moltiplicare ogni cifra per la sua base per la potenza della sua posizione, quindi aggiungere tutte le cifre risultanti. Nell'esempio seguente, 100101, che è un numero binario in base 2, viene convertito in un numero decimale (base 10).

100101 = numero binario (base 2) 543210 = pesi posizionali (1 x 2^5) + (0 x 2^4) + (0 x 2^3) + (1 x 2^2) + (0 x 2^1 ) + (1 x 2^0) = 32 + 0 + 0 + 4 + 0 + 1 = 37 37 base10 = conversione decimale

Altri metodi ponderati includono BCD e 2421, ognuno dei quali utilizza una formula simile per assegnare pesi e convertire in decimale.

Codifica non ponderata

Il codice Gray è un metodo di codifica non ponderato che altera solo un bit in un numero binario quando si passa da un numero decimale al successivo. Nella normale codifica binaria, le cifre 10 rappresenterebbero il numero decimale 2. Quando si utilizza il codice gray, un bit di quel numero binario cambia in modo che il numero decimale 2 sia rappresentato dalle cifre binarie 0011. In sequenza, il numero decimale 3, che normalmente sarebbe rappresentato dalle cifre binarie 0011, viene ora convertito in 0010, poiché solo un bit può cambiare.

Excess-3 è un altro metodo di codifica non ponderato e un tempo veniva utilizzato nei computer più vecchi e nelle macchine addizionatrici. Con l'eccesso di 3, aggiungi 3 a un numero decimale prima di convertirlo in binario. Quindi il numero decimale 2, ad esempio, aumenterebbe prima di 3, diventando 5. La conversione binaria di 2 utilizzando il metodo Excess-3 sarebbe 0101 invece del suo normale valore binario di 0010.