Differenza tra codifica pesata e non pesata
La circuitazione digitale dentro computer e dispositivi elettronici comunica solo tramite due concetti: on e off. Rappresentati in binario: 0 = off, 1 = on. Per comunicare davvero con un computer, servono ulteriori conversioni per portare il linguaggio macchina a formato umano. Il primo passo è convertire il binario in decimale leggibile. Codifica pesata e non pesata si riferisce al metodo di conversione da binario a decimale. Con la codifica pesata, ogni cifra ha un valore ponderato prima della conversione. La codifica non pesata usa formule variate ma converte senza valori di peso.
Prima di capire la codifica pesata, devi comprendere i sistemi di numerazione e la notazione posizionale.
Sistemi di numerazione
I sistemi di numerazione hanno una base: il numero più alto contabile prima di aggiungere una cifra. Il sistema che impariamo da bambini è base 10 (decimale): i primi 10 numeri (0-9) usano una cifra. A 10 servono due cifre, a 100 tre cifre.
Notazione posizionale
La notazione posizionale assegna un valore posizionale a ogni cifra di un numero reale, da destra a sinistra. Per 4782, partendo da 2 e contando destra-sinistra, le posizioni sono 0, 1, 2, 3:
4782 = numero
3210 = valori posizionali
Codifica pesata
Nell'esempio, gli assegnamenti posizionali 0-3 possono essere i valori pesati delle cifre. Il peso del 4 è 3, del 7 è 2. Il peso entra in gioco convertendo da qualsiasi base al decimale (base 10). Una formula: moltiplica ogni cifra per la base elevata alla sua posizione, poi somma. Esempio: 100101 (binario base 2) convertito in decimale.
100101 = 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 pesati: BCD e 2421, con formule simili per assegnare pesi e convertire in decimale.
Codifica non pesata
Il codice Gray è un metodo non pesato che altera un solo bit in un numero binario passando da un decimale al successivo. Nel binario normale, 10 = decimale 2. In Gray code, un bit cambia: 2 = 0011. Sequenzialmente, 3 (normale 0011) diventa 0010, perché può cambiare un solo bit.
Excess-3 è un altro metodo non pesato, usato in vecchi computer e calcolatrici. Aggiungi 3 al decimale prima di convertire in binario. Es: decimale 2 → +3 = 5 → binario 0101 (invece del normale 0010).