Hallo beim XC16 gibt es die funktion "__builtin_divmodud()" mit der man bei einer division gleich auch noch den rest bekam. diese funktion habe ich beim XC32 nicht mehr gefunden. schade, denn ich müsste eine zahl effizient in die einzelnen 10er-ziffern teilen. hat jemand von euch einen vorschlag anstatt zwei divisionen ('/' und '%') pro ziffer auszuführen? vielen dank.
Ist beides der gcc. Da sieht man mal, wie portabel so ein "__builtin.." ist. MfG Klaus
ich wollte eigentlich nicht eine meinung zum compiler sondern einen lösungsmöglichkeit mit dem compiler.
Hallo Snowman, beim den 16bit dsPICs ist das wohl HW basiertes dividieren. du kannst aber stdlib benutzen, schau mal nach div(), ldiv() u lldiv(). die machen das und sollte recht portabel sein. #include <stdlib.h> ... div_t result; int a = 10; int b = 3; result = div(a,b); printf("quotient %d remainder %d\n", result.quot, result.rem ); mfG Peter
hallo Peter das kommt schon sehr(!) an das __builtin_divmodud() respektive spart schon einige taktzyklen. vielen dank! :-) Joe, leider weiss ich nicht, was du mir damit sagen willst.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.