入力を double で取得してから、小数部分を取り出すために型キャストしています。ただし、入力が小さい数値の場合4294967295.2
は小数部分が取得されますが、これよりも大きな数値を入力すると、小数部分がゼロになります。私はそれがいくつかのことであることを知っていますが、私はこのことに少し慣れていません。入力数値が . のような場合に小数部がゼロになる理由は何9007199254740991.2
ですか コードは次のとおりです。
unsigned long long first,second;
double a,b,remainderA,remainderB;
cout << "Enter first number:\n"<< endl;
cin>> a;
cout << "\nEnter second number:\n"<< endl;
cin >> b;
first=(unsigned long long) a;
second=(unsigned long long) b;
remainderA=a-first;
remainderB=b-second;
cout<<remainderA<<endl;
よろしく