Enviado em 22/02/2018 - 11:01h
Bom dia, preciso de ajuda para calcular uma equacao com uma certa precisao.
No problema é pedido que calculemos a seguinte equação: 10^-8x² - 0.8x + 10^-8.
Desenvolvi o seguinte código:
#include <iostream>
#include<cmath>
#include<iomanip>
#include<cstdlib>
int main(void)
{
long double a=0.00000001;
long double b=-0.8;
long double c=0.00000001;
long double delta=0;
long double x1=0;
long double x2=0;
delta=(b*b)-4*a*c;
std::cout<<"delta: "<<delta<<std::endl;
x1=(-b-std::sqrt(delta))/2*a;
x2=(-b+std::sqrt(delta))/2*a;
std::cout<<std::setprecision(3)<<x1<<std::endl;
std::cout<<"x2: "<<x2<<std::endl;
}
Mas não consigo chegar nas raizes que foram exigidas: (0.8)10^10 e (1.25)10^-8.
Eu gostaria de saber como trabalhar com melhor precisão.
No problema é pedido que calculemos a seguinte equação: 10^-8x² - 0.8x + 10^-8.
Desenvolvi o seguinte código:
#include <iostream>
#include<cmath>
#include<iomanip>
#include<cstdlib>
int main(void)
{
long double a=0.00000001;
long double b=-0.8;
long double c=0.00000001;
long double delta=0;
long double x1=0;
long double x2=0;
delta=(b*b)-4*a*c;
std::cout<<"delta: "<<delta<<std::endl;
x1=(-b-std::sqrt(delta))/2*a;
x2=(-b+std::sqrt(delta))/2*a;
std::cout<<std::setprecision(3)<<x1<<std::endl;
std::cout<<"x2: "<<x2<<std::endl;
}
Mas não consigo chegar nas raizes que foram exigidas: (0.8)10^10 e (1.25)10^-8.
Eu gostaria de saber como trabalhar com melhor precisão.