Forum: Mikrocontroller und Digitale Elektronik C Code Frage AVR


von Hans (Gast)


Lesenswert?

Hallo,

kann mir nur kurz einer erklären was folgende Zeile in C bewirkt.

"a -= a >> 4;"

MFG
Hans

von Peter (Gast)


Lesenswert?

Das selbe wie:

a = a - (a/16);

von Klaus (Gast)


Lesenswert?

Hallo Hans,

a -= (__) bedeutet a = a - (__)

>> ist der shift-Operator (ab hier hilft Dir dann google weiter), der verschiebt 
die Bits in a nach rechts. Die 4 gibt an, dass die Bits um 4 Stellen verschoben 
werden.

Insgesamt bedeutet dein Ausdruck: a = a - (a / 16)

von Ulf R. (roolf)


Lesenswert?

Peter schrieb:
> Das selbe wie:
>
> a = a - (a/16);

Wenn a unsigned ist.

von Hans (Gast)


Lesenswert?

Vielen Dank!

Das hat mir sehr geholfen.

MFG Hans

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.