这个双倍乘法 (double)1000000007 * (double)11111111 的输出应该以 7 结尾(或者精确地等于 11111111077777777)。但是我写的这段代码输出的结果以 6 结尾(或者准确地说等于 11111111077777776)。我无法弄清楚我可能做错了什么。任何帮助都会很棒。
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
cout << setprecision(40) << (double)1000000007 * (double)11111111;
}