Почему pow (10,5 )= 9,999 в C++

Недавно я написал блок кода:

const int sections = 10;

for(int t= 0; t < 5; t++){
   int i = pow(sections, 5- t -1);  
   cout << i << endl;
}

И результат неверный:

9999
1000
99
10
1

Если я использую только этот код:

for(int t = 0; t < 5; t++){
    cout << pow(sections,5-t-1) << endl; 
}

Проблема больше не возникает:

10000
1000
100
10
1

Кто-нибудь дает мне объяснение? Спасибо большое!

11
задан Suraj Jain 1 March 2017 в 14:56
поделиться