Forum: Mikrocontroller und Digitale Elektronik WinAVR: "Wie Hexadezimalzahl um 3 Bit nach links "schieben""


von Robin T. (rotoe) Benutzerseite


Lesenswert?

Hallo Forum,

habe mal ne Frage bezüglich WinAVR:

Ich habe mehere verschiedene Hexadezimalzahlen die die Ports betreffen 
also maximal 0xFF. Jetzt möchte ich mittels Befehl(den ich nicht kenne) 
die Zahlen um 3 Bit(Binär gesehen) nach links verschieben.

Wie könnte man das am einfachsten bewerkstelligen?

Danke schonmal

von Rudolph R. (rudolph)


Lesenswert?

xx = (xx<<3);

von Robin T. (rotoe) Benutzerseite


Lesenswert?

Rudolph R. wrote:
> xx = (xx<<3);

Vielen Dank

von Friedrich Hetz (Gast)


Lesenswert?

Das Bitshift ist die elegantere und bessere Möglichkeit. Aber *8 würde 
auch das gleiche bewerkstelligen :)

von Michael H* (Gast)


Lesenswert?

*8 = *(2^3)
a um x stellen nach links wäre also: a*(^2x)

wer macht den beweis dazu? =)

von Friedrich Hetz (Gast)


Lesenswert?

>*8 = *(2^3)
>a um x stellen nach links wäre also: a*(^2x)

>wer macht den beweis dazu? =)

Der Compiler :)
Ein guter zumindest ersetzt bei Ganzzahloperationen eine Multiplikation 
mit einer Zweierpotenz durch Bitshift.

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.