wojtecc
2010-10-15 13:48:41 UTC
Witam.
Wyznaczam w C++ maszynowe epsilon dla typu float:
/*======================*/
cout.precision(10);
float one = 1.0;
float a = 1.0;
float eps = 1.0;
float s;
float p = 1.0;
while((s = a + one) > one)
{
eps = p;
p = a /= 2.0;
}
cout << "Maszynowe epsilon: " << scientific << eps << endl;
/*======================*/
Dlaczego jak zmienię w kodzie:
/*======================*/
while((s = a + one) > one)
/*======================*/
na
/*======================*/
while((a + one) > one)
/*=================
Wyznaczam w C++ maszynowe epsilon dla typu float:
/*======================*/
cout.precision(10);
float one = 1.0;
float a = 1.0;
float eps = 1.0;
float s;
float p = 1.0;
while((s = a + one) > one)
{
eps = p;
p = a /= 2.0;
}
cout << "Maszynowe epsilon: " << scientific << eps << endl;
/*======================*/
Dlaczego jak zmienię w kodzie:
/*======================*/
while((s = a + one) > one)
/*======================*/
na
/*======================*/
while((a + one) > one)
/*=================