Modulo mit Shift in C, wie?

Beitrag #5021517 wurde von einem Moderator gelöscht.
#5021519
Lesenswert?

Moin,

OK, bei einem AVR haett's mich nicht gewundert; aber beim STM32 kann ich 
fast nicht glauben, dass es daran liegt. iirc kann der doch Division in 
Hardware; da waer's sehr verwunderlich, wenn das laenger dauern sollte 
als eine handgebastelte shifterei.

Wie kommst du drauf, dass das lange dauert? Schon mal geguckt, was der 
Compiler draus fuer Code erzeugt?

Gruss
WK
#5021528
Lesenswert?

Hi

4bit 0...15 Da ist ein MOD 360 einfach ;)

Wenn sich der Wert immer nur sporadisch erhöht und relativ langsam 
erhöht, kannst Du den Wert korrigieren, wenn Er über 360 angewachsen ist 
(Wert=Wert-360).
In die andere Richtung müsste man auf 'Negativ' prüfen (höchste Bit 
gesetzt) und dann eben Wert=Wert+360 machen, bis der Wert wieder 'im 
grünen Bereich' ist.

Dafür sollten dann 9bit reichen bzw, 10bit, um das 'Negatib-Bit' nicht 
irrtümlich zu setzen.

MfG
Beitrag #5021575 wurde von einem Moderator gelöscht.

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