看板 C_and_CPP 關於我們 聯絡資訊
請問一下,有沒有辦法可以檢查出 double 的值是不是無效的 例如:-1.#INF、-1.#IND 希望不要是編譯器才有的特殊函數,例如 VC 的 isinf() 我用的是 Dev C++ 謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.120.14.105
VictorTom:查IEEE 754 spec, 用bit mask去分析exponent/mentisa部 05/27 23:19
VictorTom:份, 就可以找出非regular的floating point值:) 05/27 23:20
VictorTom:double是不是用754我忘了, 反正規則應該都差不多.... 05/27 23:21
VictorTom:不過為了方便, 最終你應該也是會寫成define / function 05/27 23:21
littleshan:isinf 和 isnan 是 C99 標準,並非編譯器特別提供的 05/27 23:56
tinlans:.......誰跟你說 isinf() 是 VC 特有的。 05/28 00:56
zerodevil:我猜..原po用dev-c++ compile的時候沒加-lm 05/28 01:21