Hallo, ist es mit dem AVR GCC Compiler auch möglich mit 24-Bit Datentypen umzugehen ? Ich brauche eigentlich nur 24 Bit (z.B. bei Multiplikation von 16-Bit mal 8-Bit). 32 Bit (also uint32_t, bzw. DWORD) geht natürlich auch, aber verursacht doch recht viel Code, was unnötigen Platz und Zeit kostet. Oder gibt es irgendwo schon Hilfsfunktionen oder Makros dafür ?
In C++ kann man sich eine 24bit-Integer-Klasse schreiben, die sich fast wie ein eingebauter Integer-Typ verhält. Ich hab sowas mal angefangen, aber bisher nicht fertiggestellt.
Versuch doch mal in Assembler... Irgendwo im Internet findet man bestimmt eine 16x8 Routine, die als Assembler (.S) Datei einbauen und aufrufen.
Ich hab's mit Inline Assembler gemacht. Faszinierend wie extrem sich der Code für meine Aufgabe vereinfachen lässt. Fast auf 1/10 geschrumpft.
Jörg Wunsch schrieb: > Nein. Stimmt diese Antwort im Jahr 2013 immer noch? Es scheint einen __int24 zu geben.
Und es gibt __uint24. Getestet werden kann das mit
1 | #ifdef __UINT24_MAX__
|
so daß mit älteren Versionen des Compilers auf [u]int32_t ausgewichen werden kann.
:
Bearbeitet durch User
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.