因此,我在代码块上运行了以下代码:

#include<iostream>
#include<cmath>
using namespace std;
int main()
{
    int a;
    a=pow(10,9);
    cout<<a<<endl;
    a=ceil(pow(10,9));
    cout<<a<<endl;
    a=floor(pow(10,9));
    cout<<a<<endl;
    return 0;
}


我得到的输出为:

 999999999
 100000000
 100000000


由于截断效应,第一输出不是10 ^ 9,这意味着pow(10,9)类似于
999999999.99999 ..,那么这东西的底面是1000000000?

最佳答案

实际上,int的最大值是2,147,483,647,因此不应有溢出或截断(它是int)。我的输出正好是:


  1000000000
  1000000000
  1000000000

08-06 03:56