[C] Infinitive double

0

Witam,
posiadam funkcję typu double, która dla pewnych zmiennych powinna zwrócić +- nieskończoność. Jak to zrobić?

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;
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1