我嘗試了所有檢測奇數(NaN,QNaN等)的常規技巧,我似乎無法檢測到-1。#IND。任何幫助將不勝感激。如何在C++中檢測/陷阱-1。#INDI
1
A
回答
3
0
0
union _IEEESingle
{
float Float;
struct
{
unsigned int Frac : 23;
unsigned int Exp : 8;
unsigned int Sign : 1;
} IEEE;
};
bool isQnan(float in)
{
return(reinterpret_cast<_IEEESingle*>(&in)->IEEE.Exp == (1u << 8)-1 &&
reinterpret_cast<_IEEESingle*>(&in)->IEEE.Frac);
}
相關問題
- 1. 如何在C#中鍵入陷阱?
- 2. 中止陷阱:6在C
- 3. 如何在陷阱代碼中再次設置bash陷阱?
- 4. C++模板陷阱
- 5. 中止陷阱6用C
- 6. 如何從「C」發送net-snmp陷阱
- 7. 如何使用C#發送SNMP陷阱?
- 8. 陷阱
- 9. Perl陷阱Ctrl-C(sigint)在bash中
- 10. 中止陷阱:6在C程序
- 11. 是否可以在bash中檢測*哪個*陷阱信號?
- 12. C++程序員有哪些常見的Java陷阱/陷阱?
- 13. 軟件陷阱vs硬件陷阱
- 14. 從MS Access的空陷阱的陷阱
- 15. C角箱和陷阱
- 16. C#SNMP陷阱接收
- 17. 如何陷阱命令
- 18. 有陷阱,如何登錄?
- 19. 陷阱os.Exit在golang
- 20. 解析陷阱
- 21. FileSystemWatcher的陷阱
- 22. ReSharper的陷阱
- 23. 春季陷阱
- 24. PyThreadState_SetAsyncExc陷阱?
- 25. 擊:陷阱
- 26. Java JIT陷阱
- 27. 形式 - 陷阱
- 28. SetTimer()陷阱
- 29. C#中的串行化陷阱#
- 30. .NET中ClickOnce /智能客戶端部署的陷阱/陷阱
可能重複(http://stackoverflow.com/questions/570669/checking-if-a-double-or-float-is- nan-in-c) – 2012-03-12 14:04:09
另外,請注意@Cheers和hth的答案。 - 在標記的副本中,Alf是正確的。 – 2012-03-12 14:04:40
謝謝 - 我們可以關閉這個。 – fbl 2012-03-12 15:45:37