Conversione da gray ad eccesso 3

Shika93
Come si fa?

Risposte
peppe.carbone.90
Decisamente criptico come messaggio. Un pò di contesto non farebbe male.

Shika93
E' una domanda d'esame.
Spiegare la conversione da gray ad eccesso 3. Non ho idea di come si faccia.
Normalmente quando lo facevo, passavo da binario a gray o eccesso 3 (al limite convertendo prima da decimale se venivano dati i numeri decimali), ma mai fatto da gray ad eccesso 3.

Quinzio
Il codice gray è caratterizzato dal fatto che da un numero al successivo cambia solo una cifra binaria (un bit). Nel codice "standard" passando da 7 (0111) a 8 (1000) cambiano addirittura tutte le cifre (a 4 bit).
Il codice eccesso 3 è descritto qui (http://dida.fauser.edu/sistemi/sistem3/ ... 0ECCESSO-3) ma sarei curioso di sapere se qualcuno al mondo lo usa.

Comunque tu cosa devi fare, una function ad esempio in C, un circuito elettrico o cosa ?

Shika93
Assolutamente nulla. Domanda teorica.

Conversione di codici decimali: da gray ad eccesso 3.

Questa è una domanda criptica...xD

Cioè, come domanda teorica si potrebbe dire che il gray è un codice a specchio, dove cambia una sola cifra binaria per volta (come hai detto tu), mentre il codice eccesso 3 si costruisce sommando 3(0011) al classico codice binario (a 4 bit)
Ma più di questo, che altro? Cioè, si può passare dal gray all'eccesso 3 direttamente?

Per esempio, 2 in gray è 0011 se non sbaglio.
Non posso fare 0011+0011 per convertirlo in eccesso 3. Mi verrebbe fuori 0110. Che cosa equivarrebbe? 5 (2+3)? O 6 in binario puro? Bho...Il gray serve solamente ad evitare la commutazione contemporanea di più bit per evitare quindi possibili errori di trasmissione visto che non è un codice pesato, non si può dire subito quale sia il suo valore...

Quinzio
Esiste un algoritmo per passare dal gray al binario normale. E' questa.
Inizia a leggere il numero gray da sinistra, cifra per cifra.
La prima cifra del binario normale è uguale a quella gray
Poi cominci a scorrere il numero gray, leggi una cifra gray e scrivi una normale.
Se la cifra gray è 0, nel numero normale scrivi una cifra uguale all'ultima che hai scritto.
Se la cifra gray è 1, nel numero normale scrivi la cifra opposta dell'ultima che hai scritto.
Es gray 1010 = dec 1100
Prima cifra 1, scrivo 1.
Seconda cifra 0, scrivo ancora 1.
Terza cifra 1, scrivo 0 (opposto di 1).
Quarta cifra 0, scrivo ancora 0.

Volendo scrivere una formulina hai che $s_n = g_n\ XOR\ s_(n+1)$, dove $s$ è standard e $g$ è gray.

Il passaggio da standard a gray puoi farlo tu per esercizio.

Poi sommi 3 per passare dallo standard all'eccesso 3.

Shika93
Allora mi sa che scriverò in questo modo qui, spiegando come passare dal gray al binario.

Grazie mille!!

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.