ОК,
Разовью интерес, вроде ни где не ошибся в коде ниже.
#include <iostream>
#include <iomanip>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
double p = 0.01;
long double ddd=0;
// for ( double v = 0.0; v < 2.0 ; v += p ){
double v = 0.0;
while ( v < 2.0 ){
int i = (int)( v / p + 0.5);
double d1 = (i-1) * p;
double d = d1 + p;
if ( v != d )
cout << "i=" << i << scientific << setprecision(60) << " v=" << v << scientific << setprecision(60) << " d=" << d << endl;
v = d;
v = v + p;
}
return 0;
}
Жаль конечно что не дает постить ответы в тему.
А>ОК, Разовью интерес, вроде ни где не ошибся в коде ниже.
У меня вот так:
i=7 v=7.0000000000000007000000000000000000e-02 d=6.9999999999999993000000000000000000e-02
i=8 v=7.9999999999999988000000000000000000e-02 d=8.0000000000000002000000000000000000e-02
i=11 v=1.0999999999999999000000000000000000e-01 d=1.1000000000000000000000000000000000e-01
i=16 v=1.6000000000000003000000000000000000e-01 d=1.6000000000000000000000000000000000e-01
i=19 v=1.9000000000000003000000000000000000e-01 d=1.9000000000000000000000000000000000e-01
i=22 v=2.2000000000000003000000000000000000e-01 d=2.2000000000000000000000000000000000e-01
i=30 v=3.0000000000000004000000000000000000e-01 d=2.9999999999999999000000000000000000e-01
i=37 v=3.7000000000000005000000000000000000e-01 d=3.7000000000000000000000000000000000e-01
i=43 v=4.3000000000000005000000000000000000e-01 d=4.2999999999999999000000000000000000e-01
i=49 v=4.9000000000000005000000000000000000e-01 d=4.8999999999999999000000000000000000e-01
i=59 v=5.9000000000000008000000000000000000e-01 d=5.8999999999999997000000000000000000e-01
i=72 v=7.2000000000000008000000000000000000e-01 d=7.1999999999999997000000000000000000e-01
i=85 v=8.5000000000000009000000000000000000e-01 d=8.4999999999999998000000000000000000e-01
i=97 v=9.7000000000000008000000000000000000e-01 d=9.6999999999999997000000000000000000e-01
i=117 v=1.1700000000000002000000000000000000e+00 d=1.1699999999999999000000000000000000e+00
i=142 v=1.4200000000000002000000000000000000e+00 d=1.4199999999999999000000000000000000e+00
i=168 v=1.6800000000000002000000000000000000e+00 d=1.6799999999999999000000000000000000e+00
i=193 v=1.9300000000000002000000000000000000e+00 d=1.9299999999999999000000000000000000e+00
Идея-то в чём?
А>Жаль конечно что не дает постить ответы в тему.
Вроде, можно.