Wie schiebt man in c im Kreis

Gast #2744220
Lesenswert?
• ▲
▼
Hallo,

ich möchte in einem Kreis/Ring schieben, d.h. wie mit dem >> Operator 
nur dass das herausgeschobene Bit auf der anderen Seite wieder 
reingeschoben wird. Prozessor ist ein Atmel wenn das von Bedeutung ist.

Gibts da eine schnelle Lösung / Befehl?
Oder muss man das Bit abfragen dann schieben und per Hand wieder 
einfügen

z.B. so
if (0x80 & variable) ((variable << 1) + 1); else (variable << 1);
(nicht ausprobiert ... aber so in der Art)

Danke
Gast #2744221
Lesenswert?
• ▲
▼
sorry Programmiersprache ist C, mit Assembler würde es ja einen Befehl 
gehen. Viell. mit dem einem Inlineassemblerbefehlt, aber dann wüsste 
nicht wie ich auf meine Variable names variable zugreifen müssen.
#2744274
Lesenswert?
• ▲
▼
haha schrieb:
> ich möchte in einem Kreis/Ring schieben, d.h. wie mit dem >> Operator
> nur dass das herausgeschobene Bit auf der anderen Seite wieder
> reingeschoben wird. Prozessor ist ein Atmel wenn das von Bedeutung ist.

Da es von Atmel viele verschiedene Architekturen gibt, ist der 
Hersteller alleine nicht von Bedeutung.

> Gibts da eine schnelle Lösung / Befehl?

In C gibt es da nichts einfaches. Entweder mußt du inline assembler 
nutzen, oder es eben so machen:

> Oder muss man das Bit abfragen dann schieben und per Hand wieder
> einfügen

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