Почему я получаю неожиданный вывод при использовании пола с пау?

Итак, я запустил этот код на мои блоки кода:

#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

1-й выход не был 10 ^ 9 из-за эффекта усечения, что означает, что pow (10,9) был чем-то вроде 999999999.99999 .., но тогда как получается, что эта штука 1000000000 ??

Ответы на вопрос(1)

Ваш ответ на вопрос