Kann ich dieses Gleichheitszeichen auch auslassen?
‼️Wichtig sind die Zeilen 26;30 wie auch 34‼️
Könnte ich bei diesem if()…else - Statement bei den Zeilen 26;30 oder 34 das Gleichheitszeichen auslassen? Beziehungsweise für was steht dieses Gleichheitszeichen? Könnte ich nicht stattdessen einfach (Bsp bezogen auf Zeile 26): }else if (temperature > baselineTemp+2 && temperature < baselineTemp+4) {
Vielen lieben Dank für die Antwort sowohl für die Hilfsbereitschaft im Voraus!!!
2 Antworten
![](https://images.gutefrage.net/media/user/TheSnowGlobe/1484412495478_nmmslarge__72_0_394_394_5cdf947b702499912ef80088e8165473.png?v=1484412495000)
>= 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.
![](https://images.gutefrage.net/media/default/user/14_nmmslarge.png?v=1551279448000)
![](https://images.gutefrage.net/media/user/MrAmazing2/1562539605664_nmmslarge__63_0_466_466_da6195808c107c57ce2a8b233a2bcf4f.jpg?v=1562539606000)
Du kannst
>= baselineTemp + 2
zu
> baselineTemp + 1
kürzen, ja.
Selbiges auch für die anderen beiden Stellen.
![](https://images.gutefrage.net/media/user/MrAmazing2/1562539605664_nmmslarge__63_0_466_466_da6195808c107c57ce2a8b233a2bcf4f.jpg?v=1562539606000)
Oh dachte es wär ein int, my bad
Dann
> baselineTemp + 2 - FLT_EPSILON
oder nicht?
Warum nimmst du das Epsilon mal zwei?
![](https://images.gutefrage.net/media/user/ralphdieter/1444750340_nmmslarge.jpg?v=1444750340000)
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.
baselineTemp ist ein float. Also wenn, dann
oder so ähnlich.