ďťż

Ładny brzuch

Mam taki problem:
chcę żeby mój program liczył potęgę 10^x, ale jeśli x >= 10 to wychodzi zły wynik (np. dla x = 10: 1410065408, a powinno być 10000000000)
kod funkcji wyglada tak:

//-------------------------------------------------------------------

double generator(int x)
{
int jeden = 0;
int wiecej = power(10, x);
double calkowity = jeden + wiecej;
return calkowity;
}
//-------------------------------------------------------------------

próbowałem ustawić typ funkci na __int64, ale wychodziło to samo :(

Z góry dzięki za pomoc



Po prostu wyszedłeś poza zakres zmiennej. Spróbuj zmienić typ zwracanego wyniku na unsigned double lub unsigned long int (zwiększą one zakres o część ujemną zmiennej, o ile jest ci ona nie potrzebna).

I am the REAL Noname
Moja strona: www.coderulers.prv.pl

"C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, it blows away your whole leg." - Bjarne Stroustrup, twórca języka C++

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •