Forum: Compiler & IDEs 24-Bit Datentyp ?


von Sascha (Gast)


Lesenswert?

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 ?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

> ist es mit dem AVR GCC Compiler auch möglich mit 24-Bit Datentypen
> umzugehen ?

Nein.

von Rolf Magnus (Gast)


Lesenswert?

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.

von Benedikt (Gast)


Lesenswert?

Versuch doch mal in Assembler...
Irgendwo im Internet findet man bestimmt eine 16x8 Routine, die als
Assembler (.S) Datei einbauen und aufrufen.

von Sascha (Gast)


Lesenswert?

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.

von KoF (Gast)


Lesenswert?

kannst du nicht 3 x 8biter nehmen und sie schiften???

von Nicolas S. (Gast)


Lesenswert?

Jörg Wunsch schrieb:
> Nein.

Stimmt diese Antwort im Jahr 2013 immer noch? Es scheint einen __int24 
zu geben.

von Yalu X. (yalu) (Moderator)


Lesenswert?

Nicolas S. schrieb:
> Es scheint einen __int24 zu geben.

Ja, gibt es, seit GCC 4.7.

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

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
Noch kein Account? Hier anmelden.