Forum: Mikrocontroller und Digitale Elektronik Code - Variablen


von Andreas M. (andreas61)


Lesenswert?

Hallo,

ich lese aus einer RTC mit DS3231 die Temperatur (Datentyp float) aus 
und runde den Wert anschließend, weil ich keine 2 Kommastellen brauche.
1
float f_rtc_temp = rtc.getTemperature(); 
2
int i_rtc_temp = round(f_rtc_temp);

Was wäre nun schlecht daran das wie folgt zu machen?
1
int i_rtc_temp = round(rtc.getTemperature());

Beides funktioniert. Ich glaube aber, das die zweite Variante aus 
irgendwelchen Gründen nicht sauber ist.

Gruß Andreas

von (prx) A. K. (prx)


Lesenswert?

Wenn rtc.getTemperature() float retourniert ist das identisch.

: Bearbeitet durch User
von Peter II (Gast)


Lesenswert?

um es zu vergleichen müssten man wissen welchen Datentypen die 
Funktionen haben oder liefern.

von THOR (Gast)


Lesenswert?

Ein nicht vollständig dämlicher Compiler macht aus Variante A 
automatisch Variante B, es sei denn du brauchst den float woanders noch.

von THOR (Gast)


Lesenswert?

Und es sei denn, du hast die Optimierungen komplett abgestellt.

von Andreas M. (andreas61)


Lesenswert?

rtc.getTemperature() gibt float zurück.
Also kann ich die "Abkürzung" nehmen:
1
int i_rtc_temp = round(rtc.getTemperature());

Das ist in der Arduino-IDE. Ich glaube die ist tolerant zu Leuten wie 
mir ;-)

Vielen Dank!

Gruß Andreas

: Bearbeitet durch User
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.