www.mikrocontroller.net

Forum: Compiler & IDEs GCC und Float-Vereinfachung


Autor: Fehlersucher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was macht er aus (10.2 / 1023)?

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Antwort auf solche vollständig (und dazu noch extrem höflich) 
formulierten Fragen ist immer 42. In deinem Fall allerdings dann 42.0

Oliver

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oliver schrieb:
> ist immer 42. In deinem Fall allerdings dann 42.0

Lol! :D

Autor: Fehlersucher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lieber Oliver,

vielen Dank für deine Antwort.
Meiner Meinung ist die Frage vollständig formuliert, ich habe den 
Ausdruck hingeschrieben. Es sind zwei Konstanten. Der Compiler 
vereinfacht.

Deiner Antwort entnehme ich, dass das Ergebnis auch Typ Float ist. Das 
konnte ich nun bestätigen.

Nächste Frage: Was macht er aus ((2^16)-1) ?

Tausend Dank,

Dein jetzt immerfort ausgesprochen höflich und ausschweifend 
formulierender, von Dir lernender Fehlersucher

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fehlersucher schrieb:
> Nächste Frage: Was macht er aus ((2^16)-1) ?

17

Autor: Johann L. (gjlayde) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Nächste Frage: Was macht er aus ((2^16)-1) ?

Das ist 17

Autor: Fehlersucher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh Schreck, besser so ((1UL<<16)-1)

Danke :-)

Autor: Fehlerfindender (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was hindert dich eigentlich daran, es auszuprobieren bzw. uns nähere 
Informationen wie Compiler oder Variablentyp zu geben?

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wozu brauchst du bei solchen Fragen einen Variablentyp? Ist doch weit 
und breit keine Variable zu sehen.

Autor: Fehlersucher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für Nachahmer:
Stichworte: Präprozessor, Exponent, Potenz, unsigned long, Wertebereich.
Problem: Die Notation des Exponenten mit ^ wird als (bitweises) XOR 
interpretiert.
Lösung: Setzen des 16. Bits durch den Schiebeoperator. Das Bit (1) muss 
als Long ausgewiesen werden, da sonst nur als Int behandelt.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was hat das nun mit dem Präprozessor zu tun? Kommt nicht wirklich oft 
vor, dass man mit dem rechnet.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fehlersucher schrieb:

> Deiner Antwort entnehme ich, dass das Ergebnis auch Typ Float ist.

Eigentlich nicht. Es ist nicht vom Typ float sondern vom Typ double.

Autor: eklige Tunke (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fehlerfindender schrieb:
> Was hindert dich eigentlich daran, es auszuprobieren bzw. uns nähere
> Informationen wie Compiler oder Variablentyp zu geben?
Compiler... siehe Topic.

Fehlersucher schrieb:
> Stichworte: Präprozessor
Da steht nichts, was den Präprozessor betrifft.

Fehlersucher schrieb:
> Das
> konnte ich nun bestätigen.
Wenn du deine Frage selbst beantworten kannst, warum fragst du dann?

Autor: Fehlersucher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Was hat das nun mit dem Präprozessor zu tun?
Es wird aber gelegentlich angenommen, dass der die Berechnung macht.

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jain. Der Präprosessor kann auch Berechnungen machen. Aber nur in 
#if-Direktiven. Alles andere berechnet der Compiler.

Aber du hast recht, das wird im Netz gerne mal durcheinander geworfen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.