Forum: Mikrocontroller und Digitale Elektronik Datentyp double Atmega8 mit AVR-gcc in AVR Studio


von Werner (Gast)


Lesenswert?

Hallo
Weiß eigentlich jemand wie der Datentyp double im AVR-Studio 4.13 genau 
aufgebaut ist wenn man einen Atmega8 verwendet (avr-gcc)?
Mich würde interessieren auf wieviele Kommastellen genau er rechnet und 
wie diese Variablen bitweise aufgebaut sind.

von Michael K. (michaelkorb)


Lesenswert?

Beim 8Bit-Prozessor ist es ein 4Byte double (8Bit Exponent und 23Bit 
Mantisse). Mehr dazu z.B.: unter 
http://de.wikipedia.org/wiki/Gleitkommazahl

von Johannes M. (johnny-m)


Lesenswert?

Michael Korb wrote:
> Beim 8Bit-Prozessor ist es ein 4Byte double (8Bit Exponent und 23Bit
> Mantisse).
Hat nix mit dem Prozessor zu tun, sondern mit dem Compiler. Viele 
Embedded-C-Compiler für 8-Bit-Plattformen unterstützen keine 
64-Bit-Gleitkommazahlen (und double hat im Regelfall 64 Bit, also 8 
Bytes, und damit doppelt so viel {"double precision"} wie float ), 
weshalb double dort genauso behandelt wird wie float , nämlich als 
32-Bit-Wert.

> Weiß eigentlich jemand wie der Datentyp double im AVR-Studio 4.13 genau
> aufgebaut ist
AVRStudio kann mit dem Datentyp double und mit anderen Datentypen 
nichts anfangen. Das kann nur ein C-Compiler, in diesem Fall vermutlich 
der WINAVR (AVR-GCC), der sich in AVRStudio als Plugin einbauen lässt...

von Michael K. (michaelkorb)


Lesenswert?

Johannes M. wrote:
> Hat nix mit dem Prozessor zu tun, sondern mit dem Compiler.
Hast recht, ich hatte das schon auf den angegebenen avr-gcc bezogen. Ich 
wollte damit sagen, das die kostenlosen Compiler bei 16/32Bit ARMs 8Byte 
double können.
Ich nehme an da ist der win-avr gemeint, der im Studio intergriert wird.
Die großen Combiler (IAR, Cross) können natürlich 8Byte double. Aber das 
Problem hatte ich ja damals auch schon.

von Anna-zaira E. (nanalisa)


Lesenswert?

Michael Korb wrote:
> Beim 8Bit-Prozessor ist es ein 4Byte double (8Bit Exponent und 23Bit
> Mantisse).

Hallo!

Und wie ist es mit dem Vorzeichen? Wahrscheinlich kommt das noch dazu?

1  Bit Vorzeichen
8  Bit Exponent
23 Bit Mantisse

Ist das so richtig?

von Jadeclaw D. (jadeclaw)


Lesenswert?

Richtig. Macht im Übrigen am Ende bei einer Stelle vor dem Komma ca. 4-5 
Stellen hinter dem Komma, die stimmen, der Rest ist Phantasie. Nunja, 
für die Daten vom eingebauten ADC reichts.

Gruß
Jadeclaw.

(PS: Hinweis: der Originalbeitrag ist mehr als 6 Monate alt.)

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.