Вот простейшие вычисления
От: Димыч_  
Дата: 15.07.04 22:56
Оценка:
#include <math.h>
#include <fstream>
#include <cstdlib>
#include <iostream>
int main(){
int year=1932,iA,iB,iC;
double Af=year/343.0*365.25;
double A,a,Bf,B,b,Cf,C,c,iRhY;
    a=modf(Af,&A);
    iA=round(A);
    Bf=a*343.0/7.0;
    b=modf(Bf,&B);
    iB=round(B);
    iRhY=a*343;
    Cf=b*7.0;
    c=modf(Cf,&C);
    iC=round(C);
std::cout<<"; A:"<<Af<<","<<A<<","<<a<<"; B:"<<Bf<<", "<<B<<", "<<b<<", "<<iB<<"; C:"<<Cf<<", "<<C<<", "<<c<<", "<<iC<<"\n";
std::cout<<" C==iC?"<<(C==iC)<<"\n";
std::cout<<" c==1?"<<(c==1)<<"; b==1?"<<(b==1)<<"\n";
return 0;
}


Мои результаты:
; A:2057.33,2057,0.326531; B:16, 15, 1, 15; C:7, 6, 1, 6
C==iC?1
c==1?0; b==1?0

gcc 3.2.3 (slackware 9.1) и mingw gcc 3.3.1 (win2K)
Объясните тупому, почему дробная часть равна и не равна 1 одновременно ?????
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.