Hallo achim,
falls du deine Adressumsetzung/Adressumrechnung auf einem Mikrocontroller nutzt, empfehle ich dir keine Divisionen einzusetzen - die sind z.B. auf den Atmel Controllern sehr langsam, weil das nicht in einer Clock-Cycle durchgeführt werden kann. Gerade bei Timing-kritischen Dingen ist das wichtig.
Hier zwei kleinere Tipps:
- Modulo-Divisionen mit Potenzen von 2 (also 2, 4, 8, 16, ...) kannst du einfach mit einem logisch UND realisieren. Einfach anstatt % im Programm ein & verwenden.
- Normale Divisionen mit Potenzen von 2 kannst du mit Bit-Shift nach rechts erreichen. Eine Division mit 4 z.B. erreichst du mit x >> 2 (weil 2^2 = 4)
Eigentlich sollte ein guter Compiler dies erkennen und eigenständig optimieren, doch manchmal muss man diesen eben auch auf die Sprünge helfen
Gruß
Sven
_________________
Blog mit eigenen DC-Car Projekten:
http://sven-skrabal.de/