Integer Division liefert falsches Ergebnis?
hi, ich speichere einen floatwert zwischen 0.00 und 0.99 im eeprom.
das speichern geht wie folgt, die float wird mit "100" multipliziert, soweit funktioniert auch alles.
hier der code fürs speichern:
der code zum auslesen sieht dann wie folgt aus:
angenommen es wird die float "0.15" gespeichert umgewandelt dann die "15", dann müsste nach der rechnung eigentlich wieder 0.15 rauskommen. 15/100 = 0.15
allerdings kommt immer 0.00 raus egal welchen wert ich speichere.
frohes neues wünsch ich euch allen noch
gruß
noah
das speichern geht wie folgt, die float wird mit "100" multipliziert, soweit funktioniert auch alles.
hier der code fürs speichern:
code: [select]
int first = value*100;
eeprom.write(10, first);
serial.println("setauto:" + string(eeprom.read(10)));
der code zum auslesen sieht dann wie folgt aus:
code: [select]
int first = eeprom.read(10);
float result = first/100;
serial.println("automin:"+string(result));
return result;
angenommen es wird die float "0.15" gespeichert umgewandelt dann die "15", dann müsste nach der rechnung eigentlich wieder 0.15 rauskommen. 15/100 = 0.15
allerdings kommt immer 0.00 raus egal welchen wert ich speichere.
frohes neues wünsch ich euch allen noch
gruß
noah
Arduino Forum > International > Deutsch (Moderator: uwefed) > Integer Division liefert falsches Ergebnis?
arduino
Comments
Post a Comment