Witam,
posiadam funkcję typu double, która dla pewnych zmiennych powinna zwrócić +- nieskończoność. Jak to zrobić?
0
0
możesz zwracać wartości maksymalne i minimalne dla typu double
0
nieskończoność == 1./0.
-nieskończoność == -1./0.
Wbrew pozorom 1./0. nie spowoduje błędu dzielenia przez 0.
0
Dzięki Krzysiek!
0
#include <iostream>
using namespace std;
int main(){
double d;
d = 1./0.;
printf("%lf\n",d);
return 0;
}
error C2124: divide or mod by zero na Visualu 8 (2005). Ja coś źle robię, czy jednak błąd jest?
Pozdrawiam, Afish
0
dziex@alan ~ $ g++ main.cpp
main.cpp: In function 'int main()':
main.cpp:6: warning: division by zero in '1.0e+0 / 0.'
dziex@alan ~ $ ./a.out
inf
dziex@alan ~ $
Czyli tylko warning.
0
tu warning a tam error. po co wyliczac INF z palca, skoro jest w limits.h?
http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/structstd_1_1numeric__limits.html
#include <limits>
#include <iostream>
int main()
{ double d = std::numeric_limits<double>::infinity();
double d2 = - std::numeric_limits<double>::infinity();
std::cout << d << " " << d2 << std:endl;
}