NAN a INFINITY – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

NAN a INFINITY – C / C++ – Fórum – Programujte.comNAN a INFINITY – C / C++ – Fórum – Programujte.com

 

cp.Hook0
Newbie
6. 11. 2008   #1
-
0
-

mam takovyhle proble.. dejme tomu ze mam napsano tohle:



x = INFINITY;

if ( x != NAN && x != INFINITY) {
proved()
}

takhle je vsechno v poradku a funkce proved se neprovede, ale kdyz mam tohle:


x = NAN;

if ( x != NAN && x != INFINITY) {
proved()
}

tak se podminka spatne vyhodnoti a funkce proved se provede...proc?? pouzivam spatne tu konstantu (ehm..je to vlastne konstanta) NAN..? diky za radu..

Nahlásit jako SPAM
IP: 195.146.108.–
o-lox0
Super člen
6. 11. 2008   #2
-
0
-

Zkus tam cvičně takovouhle pozměněnou podmínku

if (x != INFINITY && !_isnan(x)  ) 

Nahlásit jako SPAM
IP: 85.71.152.–
cp.Hook0
Newbie
6. 11. 2008   #3
-
0
-

o-lox napsal:
Zkus tam cvičně takovouhle pozměněnou podmínku

if (x != INFINITY && !_isnan(x)  ) 


no prekladac mi to nevzal, tak jsem napsal !isnan(x) a uz to jede.. takze to je jen makro, ktere testuje jestli je dana promenna rovna nan?

Nahlásit jako SPAM
IP: 195.146.108.–
o-lox0
Super člen
7. 11. 2008   #4
-
0
-

Zákeží ponejvíc na developerovi Céčka (resp. hlaviček, a příp. poslušnosti standartům)
může to býti třeba takováhle inlajnovka

__CRT_INLINE int __cdecl __isnan (double _x)

{
unsigned short sw;
__asm__ ("fxam;"
"fstsw %%ax": "=a" (sw) : "t" (_x));
return (sw & (FP_NAN | FP_NORMAL | FP_INFINITE | FP_ZERO | FP_SUBNORMAL))
== FP_NAN;
}

Nahlásit jako SPAM
IP: 85.71.152.–
ondra
~ Anonymní uživatel
244 příspěvků
7. 11. 2008   #5
-
0
-

Na kontrolu, jestli je něco NaN by mohlo stačit

if (x != x) { /* je NaN */ }

Nahlásit jako SPAM
IP: 194.138.12.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 85 hostů

Podobná vlákna

NaN — založil Martin

Infinity hodnota při výpočtu — založil avalagne

Keil C compiler AVR — založil zdenek dusatko

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý