Димыч_:
> > b=modf(Bf,&B);
> . . .
> c=modf(Cf,&C);
> std::cout<< "; B: "<< b << "; C: " << c <<"\n";
> std::cout<<" c==1?"<<(c==1)<<"; b==1?"<<(b==1)<<"\n";
>
>
> Мои результаты:
> ; B: 1; C: 1
> c==1?0; b==1?0
>
> почему дробная часть равна и не равна 1 одновременно ?????
В данном случае при сравнении чисел плавающих типов на строгое равенство ты получаешь не те результаты, которые ожидаешь, т.к. эти числа равны 1 неточно. Для целей же вывода они округляются. Используй сравнение разности этих чисел с 1 и некоторым маленьким числом.
Posted via RSDN NNTP Server 1.9 beta
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен