Kann ich dieses Gleichheitszeichen auch auslassen?

2 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

>= heißt „größer oder gleich“. Die Bedingung ist also wahr, wenn die erste Zahl größer als die zweite Zahl ist oder beide Zahlen gleich sind. Wenn du das Gleichheitszeichen weglässt, trifft die Bedingung nicht mehr zu, wenn beide Temperaturwerte gleich sind. So wie die Abfragen aufgebaut sind, würde in diesem Fall gar nichts mehr ausgeführt. Daher ist das >= schon sinnvoll.

Woher ich das weiß:Hobby

wichtigerhelfer 
Beitragsersteller
 04.01.2023, 00:29

Ah! Alles klar, verstanden. Vielen Dank!!! :)

1

Du kannst

>= baselineTemp + 2

zu

> baselineTemp + 1

kürzen, ja.

Selbiges auch für die anderen beiden Stellen.

Woher ich das weiß:Hobby – Programmieren ist mein Hobby & Beruf

ralphdieter  04.01.2023, 13:14

baselineTemp ist ein float. Also wenn, dann

> baselineTemp + 2*(1-FLT_EPSILON)

oder so ähnlich.

1
MrAmazing2  04.01.2023, 14:33
@ralphdieter

Oh dachte es wär ein int, my bad

Dann

> baselineTemp + 2 - FLT_EPSILON

oder nicht?

Warum nimmst du das Epsilon mal zwei?

2
ralphdieter  04.01.2023, 17:52
@MrAmazing2

Weil x−FLT_EPSILON!=x nur für |x|≤1 gilt (und vermutlich auch für 1+FLT_EPSILON). Aber 2−FLT_EPSILON wird exakt 2,0 ergeben.

Tatsächlich habe ich aber Klammern vergessen:

> (baselineTemp+2)*(1-FLT_EPSILON)

Das sollte den größten darstellbaren Wert unter baselineTemp+2 ergeben.

0