Forum: Mikrocontroller und Digitale Elektronik 10 hoch 3: pow() liefert 999 statt 1000


von Christian (Gast)


Lesenswert?

Hi,

vielleicht schlafe ich schon halb, aber sollte
1
int32_t tmp = 1;
2
uint8_t stelle = 3;
3
4
for (uint8_t i = 0; i < stelle; i++) 
5
{
6
   tmp *=10;
7
}

nicht zum gleichen Ergebnis (1000) führen wie
1
tmp = (pow(10,stelle));

Danke!

Chris

von avr (Gast)


Lesenswert?

wenn man das ergebnis rundet schon.

von Christian (Gast)


Lesenswert?

Edit: Das tritt auf für stelle >= 2 (WinAVR, Atmega 328 auf einem 
Arduino Nano).

von Christian (Gast)


Lesenswert?

Danke avr, habs kapiert. pow liefert keine Ganzzahl....

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.