Dlaczego moja matematyka całkowita ze std :: pow podaje błędną odpowiedź?
Rozważ następujący fragment kodu:
#include <iostream>
#include <cmath>
int main() {
int i = 23;
int j = 1;
int base = 10;
int k = 2;
i += j * pow(base, k);
std::cout << i << std::endl;
}
Wyprowadza „122” zamiast „123”. Czy jest to błąd w g ++ 4.7.2 (MinGW, Windows XP)?