Circuiti digitali - Codici
Nella codifica, quando numeri o lettere sono rappresentati da un gruppo specifico di simboli, si dice che il numero o la lettera vengono codificati. Il gruppo di simboli è chiamato comecode. I dati digitali vengono rappresentati, memorizzati e trasmessi come un gruppo di bit. Questo gruppo di bit è anche chiamato comebinary code.
I codici binari possono essere classificati in due tipi.
- Codici ponderati
- Codici non ponderati
Se il codice ha pesi posizionali, allora si dice che sia weighted code. Altrimenti, è un codice non ponderato. I codici ponderati possono essere ulteriormente classificati come codici ponderati positivamente e codici ponderati negativamente.
Codici binari per cifre decimali
La tabella seguente mostra i vari codici binari per le cifre decimali da 0 a 9.
Cifra decimale | Codice 8421 | Codice 2421 | Codice 84-2-1 | Codice in eccesso 3 |
---|---|---|---|---|
0 | 0000 | 0000 | 0000 | 0011 |
1 | 0001 | 0001 | 0111 | 0100 |
2 | 0010 | 0010 | 0110 | 0101 |
3 | 0011 | 0011 | 0101 | 0110 |
4 | 0100 | 0100 | 0100 | 0111 |
5 | 0101 | 1011 | 1011 | 1000 |
6 | 0110 | 1100 | 1010 | 1001 |
7 | 0111 | 1101 | 1001 | 1010 |
8 | 1000 | 1110 | 1000 | 1011 |
9 | 1001 | 1111 | 1111 | 1100 |
Abbiamo 10 cifre nel sistema di numeri decimali. Per rappresentare queste 10 cifre in binario, abbiamo bisogno di un minimo di 4 bit. Ma con 4 bit ci saranno 16 combinazioni uniche di zero e uno. Poiché abbiamo solo 10 cifre decimali, le altre 6 combinazioni di zeri e uno non sono necessarie.
8 4 2 1 codice
I pesi di questo codice sono 8, 4, 2 e 1.
Questo codice ha tutti i pesi positivi. Quindi è un filepositively weighted code.
Questo codice è anche chiamato come natural BCD (Decimale con codice binario) code.
Example
Troviamo l'equivalente BCD del numero decimale 786. Questo numero ha 3 cifre decimali 7, 8 e 6. Dalla tabella possiamo scrivere i codici BCD (8421) di 7, 8 e 6 sono rispettivamente 0111, 1000 e 0110 .
∴ (786)10 = (011110000110)BCD
Ci sono 12 bit nella rappresentazione BCD, poiché ogni codice BCD di cifre decimali ha 4 bit.
2 4 2 1 codice
I pesi di questo codice sono 2, 4, 2 e 1.
Questo codice ha tutti i pesi positivi. Quindi è un filepositively weighted code.
È un unnatural BCDcodice. La somma dei pesi dei codici BCD innaturali è uguale a 9.
È un self-complementingcodice. I codici autocompletanti forniscono il complemento del 9 di un numero decimale, semplicemente scambiando 1 e 0 nella sua rappresentazione equivalente 2421.
Example
Troviamo l'equivalente 2421 del numero decimale 786. Questo numero ha 3 cifre decimali 7, 8 e 6. Dalla tabella possiamo scrivere i codici 2421 di 7, 8 e 6 sono 1101, 1110 e 1100 rispettivamente.
Pertanto, l'equivalente 2421 del numero decimale 786 è 110111101100.
8 4-2-1 codice
I pesi di questo codice sono 8, 4, -2 e -1.
Questo codice ha pesi negativi insieme a pesi positivi. Quindi è un filenegatively weighted code.
È un unnatural BCD codice.
È un self-complementing codice.
Example
Troviamo l'equivalente 8 4-2-1 del numero decimale 786. Questo numero ha 3 cifre decimali 7, 8 e 6. Dalla tabella possiamo scrivere i codici 8 4 -2 -1 di 7, 8 e 6 sono rispettivamente 1001, 1000 e 1010.
Pertanto, l'equivalente 8 4-2 -1 del numero decimale 786 è 100110001010.
Codice in eccesso 3
Questo codice non ha pesi. Quindi è un fileun-weighted code.
Otterremo il codice Excess 3 di un numero decimale aggiungendo tre (0011) all'equivalente binario di quel numero decimale. Quindi, si chiama codice Excess 3.
È un self-complementing codice.
Example
Troviamo l'equivalente Eccesso 3 del numero decimale 786. Questo numero ha 3 cifre decimali 7, 8 e 6. Dalla tabella possiamo scrivere i codici Eccesso 3 di 7, 8 e 6 sono rispettivamente 1010, 1011 e 1001.
Pertanto, l'equivalente in eccesso 3 del numero decimale 786 è 101010111001
Codice grigio
La tabella seguente mostra i codici Gray a 4 bit corrispondenti a ciascun codice binario a 4 bit.
Numero decimale | Codice binario | Codice grigio |
---|---|---|
0 | 0000 | 0000 |
1 | 0001 | 0001 |
2 | 0010 | 0011 |
3 | 0011 | 0010 |
4 | 0100 | 0110 |
5 | 0101 | 0111 |
6 | 0110 | 0101 |
7 | 0111 | 0100 |
8 | 1000 | 1100 |
9 | 1001 | 1101 |
10 | 1010 | 1111 |
11 | 1011 | 1110 |
12 | 1100 | 1010 |
13 | 1101 | 1011 |
14 | 1110 | 1001 |
15 | 1111 | 1000 |
Questo codice non ha pesi. Quindi è un fileun-weighted code.
Nella tabella sopra, i successivi codici Gray differiscono solo per una posizione di bit. Quindi, questo codice è chiamato comeunit distance codice.
Conversione da codice binario a codice Gray
Segui questi passaggi per convertire un codice binario nel suo codice Gray equivalente.
Considera il codice binario dato e inserisci uno zero a sinistra di MSB.
Confronta i due bit successivi partendo da zero. Se i 2 bit sono uguali, l'uscita è zero. Altrimenti, l'output è uno.
Ripetere il passaggio precedente fino a ottenere l'LSB del codice Gray.
Example
Dalla tabella sappiamo che il codice Gray corrispondente al codice binario 1000 è 1100. Ora, verificiamolo utilizzando la procedura sopra.
Dato, il codice binario è 1000.
Step 1 - Posizionando lo zero a sinistra di MSB, il codice binario sarà 01000.
Step 2 - Confrontando due bit successivi di nuovo codice binario, otterremo il codice grigio come 1100.