Я программирую калькулятор на Arduino, пытаюсь вычислить мощность и записать ее в строку (результат). Это мой код:
dtostrf(exp(n*log(x)), 0, 5, result); // x ^ n
2 ^ 2 = 4.00000 // works fine
10 ^ 5 = 99999.9770 // should be 100000
Что не так с моим кодом и как я всегда могу получить правильный результат? Я имею в виду, как я могу округлить его, но все же иметь возможность использовать двойные (например, 5,2 ^ 3,123)
float
тоже 4 байта. В случае выполненияdouble
даст большую точность, чемfloat
; на Uno они будут такими же.float
никогда не будет иметь большей точности, чемdouble
. - person chiastic-security   schedule 23.11.2014