Forum: Compiler & IDEs GCC und Float-Vereinfachung


von Fehlersucher (Gast)


Lesenswert?

Was macht er aus (10.2 / 1023)?

von Oliver (Gast)


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

von Klaus (Gast)


Lesenswert?

Oliver schrieb:
> ist immer 42. In deinem Fall allerdings dann 42.0

Lol! :D

von Fehlersucher (Gast)


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

von Stefan E. (sternst)


Lesenswert?

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

17

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

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

Das ist 17

von Fehlersucher (Gast)


Lesenswert?

Oh Schreck, besser so ((1UL<<16)-1)

Danke :-)

von Fehlerfindender (Gast)


Lesenswert?

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

von (prx) A. K. (prx)


Lesenswert?

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

von Fehlersucher (Gast)


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.

von (prx) A. K. (prx)


Lesenswert?

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

von (prx) A. K. (prx)


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.

von eklige Tunke (Gast)


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?

von Fehlersucher (Gast)


Lesenswert?

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

von Klaus (Gast)


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.

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.