Gray Code in Binär umwandeln

OP #3576895
Lesenswert?

Hallo zusammen

Habe ein Verständnissproblem mit einem Beispiel Code.

unsigned int graycodetobinary( unsigned int g )
{
    unsigned int i, m, b= g;
        for ( i= 1; (m= (b >> i)) != 0; i <<= 1 )
            b ^= m;
    return b;
}

Dieser wandelt Gray Code in Binär Code um und das funktioniert auch. Ich 
habe ein Problem damit zu verstehen was der Code genau macht.
Kann mir da jemand weiterhelfen? Oder gibt es bessere Möglichkeiten um 
einen n-stelligen Graycode in Binärcode umzuwandeln?

Vielen Dank schon im Voraus
#3576917
Lesenswert?

Rico S. schrieb:
> Oder gibt es bessere Möglichkeiten um
> einen n-stelligen Graycode in Binärcode umzuwandeln?

wenn er doch funktioniert, was für einen "besseren" Code brauchst du 
denn? Du meinst vermutlich einen (für dich) "verständlicheren"?

Ist denn dann z.B. das Sortierverfahren "Bubblesort" "besser" für dich 
als Quicksort, weil du bubblesort einfacher verstehst?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren