if Abfrage in C funktioniert nicht

Gast #696851
Hallo
kann mir jemand sagen warum bei dieser Abfrage immer true herauskommt?
Ich möchte erreichen das Tist in einem gewissen Intervall liegt.
z.B Tsoll = 25.0 dann soll die Bedingung erfüllt sein wenn Tist zwischen 
24.99 und 25.01 ist.

if((Tist > (Tsoll-0.01)) && (Tist < (Tsoll+0.01)))


Hoffe es liegt nicht daran dass die Variablen den Typ float besitzen.

Danke
Werner
Gast #696877
Vielleicht macht Tist minimale Änderungen von 0.1Kelvin oder so, dann 
wird der Ausdruck immer true wenn Du nicht Tsoll genau triffs. Ich 
gleube nicht, daß Du einen Sensor benutzt, der 1/100 Kelvin auflöst.

Gute Nacht
Detlef
Gast #696905
Der Sensor geht auf 1/5000 genau (wenn man mal vom Rauschen absieht).
Die Regelung auf wenige 1/1000 (ginge wahrscheinlich noch besser).

So ein blöder Fehler, ich hab lediglich vergessen den Ausgang zurück zu 
setzen falls die Bedingung nicht erfüllt ist.

Habs aber trotzdem umgeschrieben auf if(fabs(Tist-Tsoll)<=0.1), weil es 
besser lesbar ist.

Danke für eure Hilfe
Werner
Gast #696934
>Der Sensor geht auf 1/5000 genau (wenn man mal vom Rauschen absieht).
>Die Regelung auf wenige 1/1000 (ginge wahrscheinlich noch besser).

Ist zwar OT, aber du meinst doch sicherlich KiloKelvin, oder?

Oliver

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 19 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.