Zly wynik dodawania float
Ostatnio zmodyfikowano 2017-12-29 23:58
Kota Temat założony przez niniejszego użytkownika |
Zly wynik dodawania float » 2017-12-29 22:59:20 Witam, chcialbym sie dowiedziec dlaczego operacje na typie float nie daja poprawnych wynikow. Czym jest spowodowany brak dokladnosci? #include <iostream>
using namespace std;
int main() { float a; float b; float c; a = 1000; b = 0.002; c = a + b; cout << c << endl; } |
|
nanoant20 |
» 2017-12-29 23:04:27 |
|
jankowalski25 |
» 2017-12-29 23:58:02 Dla typu float liczba posiada tylko 8 cyfr znaczących |
A nie sześć? Nie kojarzę, abym zetknął się z inną wartością wyrażenia std::numeric_limits < float >::digits10 . Przykład: #include <iostream> #include <limits>
int main() { std::cout << std::numeric_limits < float >::digits10 << '\n' << std::numeric_limits < double >::digits10 << '\n' << std::numeric_limits < long double >::digits10 << '\n'; } Standardowe wyjście programu: 6 15 18 |
|
« 1 » |