Je faisais un programme qui prenait d'abord 2 nombres (avec le type de données float) de l'utilisateur puis demandais à l'utilisateur jusqu'à quel chiffre il voulait diviser le nombre et le diviser finalement jusqu'à ce nombre et «cout < <». Il a compilé mais n'a pas fonctionné jusqu'à la marque quand j'ai calculé 22/7 ce qui est un non irrationnel. Jusqu'à 100 chiffres, il a juste calculé jusqu'à 30 ou 40 chiffres, puis le reste était rempli de zéros. Quelque chose comme ceci: 3.1428570747375488281250000000000000000000000000000000000000000000000000000000000000000000000000000000
setprecision() ne fonctionnait pas comme prévu
Voici mon code:
#include <iostream>
#include <cstdlib>
#include <iomanip>
using namespace std;
int main()
{
system("clear");
float y;
int z;
float x;
float a;
cout << "\nHello User\n";
cout << "\nEnter first num to be divided: ";
cin >> x;
cout << "\nCool!! Now enter the 2nd number: \n";
cin >> y;
cout << "\Exelent!! Enter the place upto which u wanna caculate: ";
cin >> z;
a = x/y;
cout << fixed << showpoint;
cout << setprecision(z);
cout << "Calculating......\n" << a << endl;
return 0;
}
Tous les nombres avec 6 chiffres décimaux significatifs ou moins peuvent être convertis en une valeur à virgule flottante IEEE 754 sans perte de précision. Lire sur les types à virgule flottante IEEE. –
22/7 n'est certainement pas un nombre irrationnel. – molbdnilo
oh je veux dire PI @molbdnilo – ShivamProgramer