小胖說swift12------swift中判斷NaN

來源:互聯網
上載者:User
錯誤描述

今天在弄一個Objective-C的播放器,碰到一個 播放時間 在視頻播放完之後會顯示為NaN的問題 NaN,是Not a Number的縮寫。 NaN 用於處理計算中出現的錯誤情況, 比如 0.0 除以 0.0 或者求負數的平方根。由上面的表中可以看出,對於單精確度浮點數,NaN 表示為指數為 emax + 1 = 128(指數域全為 1),且尾數域不等於零的浮點數。IEEE 標準沒有要求具體的尾數域,所以 NaN 實際上不是一個,而是一族。不同的實現可以自由選擇尾數域的值來表達 NaN,比如 Java 中的常量 Float.NaN 的浮點數可能表達為 01111111110000000000000000000000,其中尾數域的第一位為 1,其餘均為 0(不計隱藏的一位),但這取決系統的硬體架構。Java 中甚至允許程式員自己構造具有特定位元模式的 NaN 值(通過 Float.intBitsToFloat() 方法)。比如,程式員可以利用這種定製的 NaN 值中的特定位元模式來表達某些診斷資訊。 如何處理NaN錯誤呢。 OC中用isnan(X)來判斷 swift中使用X.isNaN來判斷 簡書地址:http://www.jianshu.com/p/30e10475b4aa

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.