Pisząc program natrafiłem na poważny problem, dla mnie nie do przejścia.
Opiszę co program robi:
program najpierw wykonuje pewne operacje na liczbach a na końcu wynik pierwiastkuje i wypisuje. Potem również operuje na wyniku ale mniejsza o to.
Problem pojawia się właśnie przy pierwiastkowaniu, proszę spójrzcie na ten przykładowy program pokazujący mój problem. Co jest nie tak?
załączone biblioteki to
#include
#include
using namespace std;
int main () {
double liczba=(pow(5,10)+3); //dwie zupełnie inne liczby, ten sam wynik po pierwiastkowaniu
double liczba2=(pow(5,10)+0);
cout<<
liczba<<"\n";
cout<<
sqrt(liczba)<<"\n";
cout<<
liczba2<<"\n";
cout<<
sqrt(liczba2)<<"\n";
return 0;
}
Wydruk z konsoli:
9.76563e+06
3125
9.76562e+06
3125
Chodzi o problem przy dużych liczbach, np. wyświetla: 1.49012e+18. Jak zrobić, żeby wyświetlało mi normalnie? Właśnie przypuszczam, że z tego wynikają potem błędy w wyliczeniach i wszystko się sypie.