青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

O(1) 的小樂

Job Hunting

公告

記錄我的生活和工作。。。
<2010年10月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

統(tǒng)計

  • 隨筆 - 182
  • 文章 - 1
  • 評論 - 41
  • 引用 - 0

留言簿(10)

隨筆分類(70)

隨筆檔案(182)

文章檔案(1)

如影隨形

搜索

  •  

最新隨筆

最新評論

閱讀排行榜

評論排行榜

NaN解釋

There are three kinds of operation which return NaN:[4]

  • Operations with a NaN as at least one operand
  • Indeterminate forms
    • The divisions 0/0, ∞/∞, ∞/?∞, ?∞/∞, and ?∞/?∞
    • The multiplications 0×∞ and 0×?∞
    • The additions ∞ + (?∞), (?∞) + ∞ and equivalent subtractions
    • The standard has alternative functions for powers:
      • The standard pow function and the integer exponent pown function define 00, 1, and ∞0 as 1.
      • The powr function define all three indeterminate forms as invalid operations and so returns NaN.
  • Real operations with complex results, for example:
    • The square root of a negative number
    • The logarithm of a negative number
    • The inverse sine or cosine of a number which is less than ?1 or greater than +1.

NaNs may also be explicitly assigned to variables, typically as a representation for missing values. Prior to the IEEE standard, programmers often used a special value (such as ?99999999) to represent undefined or missing values, but there was no guarantee that they would be handled consistently or correctly.[1]

NaNs are not necessarily generated by the processor. In the case of quiet NaNs, the first item is always valid for each processor; the others may not necessarily be. For example, on the Intel Architecture processors, the FPU never creates a NaN except in the first case, unless the corresponding floating point exception mask bits have been set.[5] The other items would cause exceptions, not NaNs. However, the software exception handler may examine the operands and decide to return a NaN (e.g. in the case of 0/0).

[edit]Quiet NaN

Quiet NaNs, or qNaNs, do not raise any additional exceptions as they propagate through most operations. The exceptions are where the NaN cannot simply be passed through unchanged to the output, such as in format conversions or certain comparison operations (which do not "expect" a NaN input).

[edit]Signaling NaN

Signaling NaNs, or sNaNs, are special forms of a NaN which when consumed by most operations should raise an invalid exception and then, if appropriate, be "quieted" into a qNaN which may then propagate. They were introduced in IEEE 754. There have been several ideas for how these might be used:

  • Filling uninitialized memory with signaling NaNs would produce an invalid exception if the data is used before it is initialized
  • Using an sNaN as a placeholder for a more complicated object, such as:

When encountered a trap handler could decode the sNaN and return an index to the computed result. In practice this approach is faced with many complications. The treatment of the sign bit of NaNs for some simple operations (such as absolute value) is different from that for arithmetic operations. Traps are not required by the standard. There are other approaches to this sort of problem which would be more portable.

 

NaN是Not a Number的縮寫,就是說它不是一個數(shù)。NaN是定義在IEEE 754標準中的特殊值,類似的特殊值還有INF(無窮大,INFinite)。IEEE 754是定義浮點數(shù)的標準,有1985和2008兩個版本。其中,2008版本還定義了十進制浮點數(shù)的標準。

NaN的產(chǎn)生(可以)是這樣的(此段文字摘譯自WIKI):
1)NaN參與數(shù)學運算的結果仍是NaN
2)0/0,正無窮大/正無窮大,正無窮大/負無窮大,負無窮大/正無窮大,負無窮大/負無窮大
3)0和正/負無窮大相乘
4)正無窮大+負無窮大,負無窮大加正無窮大
5)數(shù)學上無解的一些函數(shù)值,比如:負數(shù)的平方根,對2.0的求反正弦,等等

第一條說明了NaN在運算中的“傳染性”。如果不慎在某處引入了NaN,那么之后的算式值很可能就一直是NaN了。所以在涉及浮點數(shù)值運算時一定要注意NaN的存在。

回過頭來解釋前面的題目:NaN永遠不等于自己,所以說NaN == NaN永遠為false,而NaN != NaN永遠為true。這是一個相當特殊的情況:即使參與比較的兩個NaN的內(nèi)存表示是一模一樣的,但它們?nèi)匀皇遣坏鹊摹?/p>

更深一步地說,NaN有兩種,一種是Quiet NaN,另一種是Signalling NaN。在使用時,Signalling NaN會立即引發(fā)異常,然后將自身變?yōu)镼uiet NaN;Quiet NaN的行為比較安靜,在算術運算中它不會引發(fā)異常,只是將運算結果“傳染”為NaN(但是在某些不接受NaN的地方仍會引發(fā)異常)。

INF,它溢出到無窮大

INF就是無窮大,在浮點數(shù)中,有+INF和-INF兩種。INF在數(shù)學上有對應的概念,所以它比NaN更好理解一些。比如用1/0,得到的結果就是INF

0,它竟然還有正負

在IEEE浮點數(shù)中,0也是特殊的,因為它有+0和-0兩種(“正零”和“負零”)。其中,1除以“負0”等于“負無窮大”,1除以“正0”等于“正無窮大”。

舍入,它可不是“四舍五入”

舍入算法對我們多數(shù)人來說意味著“四舍五入”。這個在上學時就學過了,但它卻會給舍入之后的數(shù)帶來擴大的趨勢。在買賣方之間,民俗傳統(tǒng)中一直有“五 刨六撩”一說,“五刨”是說將5及5以下的舍去,“六撩”是說將6及6以上的進位,這種舍入算法有整體減小的趨勢,體現(xiàn)了小生意人讓利的“誠意”。那么, 更好的舍入算法是什么樣的呢?

IEEE754中定義了最基本的舍入算法:Rounds to nearest, ties to even(even在這里是“偶數(shù)”的意思)。這種算法將4及4以下的數(shù)拋棄,6及6以上的數(shù)進位,如果要舍入的最高位是5的話,則將要保留的最低位圓整 到最接近的偶數(shù)(這里說的“偶數(shù)”包括0)。比如:

89.64 --> 90
98.46 --> 98
1919.54 --> 1920
1918.55 --> 1918

對于大量均勻分布的數(shù)來說,這種50%概率算法保證了舍入后的數(shù)沒有放大或者縮小的趨勢。在銀行里都是用的這種算法,做過金融類程序的對此應該印象深刻的。

除了上面提到的“Ties To Even算法”之外,還有幾種舍入算法,因為定義得非常清晰和明確,這里不再多說,詳情請見參考資料。

參考資料/延伸閱讀

1、http://en.wikipedia.org/wiki/IEEE_754-2008
2、http://en.wikipedia.org/wiki/IEEE_754-1985
3、http://en.wikipedia.org/wiki/Signed_zero
4、http://en.wikipedia.org/wiki/Not_a_Number
5、IEEE標準

 

 

以上這篇文章zz自 http://blog.csdn.net/yuankaining/archive/2009/08/19/4461238.aspx

 

這個問題是在看Fundamentals of Computer Graphics的時候看到的!總結一下:

當深入理解了IEEE標準和NAN之后,我們完全可以改善程序的設計來避免復雜的判斷!這一點是完全可以做到的!注意Signalling NaN 和Quiet NaN

posted on 2010-10-16 21:35 Sosi 閱讀(1218) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


統(tǒng)計系統(tǒng)
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            在线成人激情| 亚洲国产美国国产综合一区二区| 欧美精品一区在线发布| 欧美一区二区三区四区夜夜大片| 亚洲综合激情| 欧美一区二区三区免费视频| 久久黄色级2电影| 久久久久久9| 欧美国产精品日韩| 国产精品久久激情| 国产亚洲视频在线观看| 激情欧美国产欧美| 亚洲免费黄色| 亚洲一区久久| 久久婷婷影院| 亚洲美女在线一区| 欧美伊人久久大香线蕉综合69| 老司机精品视频一区二区三区| 欧美精品日韩| 国产日韩欧美一区二区三区在线观看| 国内外成人免费视频| 亚洲国产欧美一区二区三区同亚洲 | 国产精品看片资源| 国产一区二区三区高清在线观看 | 亚洲国产精品欧美一二99| 欧美国产日韩一区| av成人天堂| 久久精品视频播放| 欧美午夜精品理论片a级按摩| 国产日韩欧美夫妻视频在线观看| 91久久夜色精品国产网站| 午夜精品国产更新| 91久久夜色精品国产九色| 午夜久久久久久| 欧美日韩精品系列| 亚洲激情图片小说视频| 欧美一区二区三区日韩| 最新国产の精品合集bt伙计| 欧美制服第一页| 国产精品乱码人人做人人爱| 亚洲精品一线二线三线无人区| 欧美在线播放视频| 日韩视频在线你懂得| 免费人成精品欧美精品| 国产一区二区三区四区| 亚洲欧美日韩精品综合在线观看| 亚洲国产一区在线观看| 久久视频在线看| 国内精品久久久| 欧美一区二区三区视频免费播放 | 好看的日韩视频| 欧美亚洲免费电影| 夜夜夜精品看看| 欧美日韩亚洲网| 一本大道av伊人久久综合| 亚洲成色www久久网站| 久久久www| 一区视频在线看| 欧美国产1区2区| 免费观看一区| 亚洲精品国产精品乱码不99| 欧美大色视频| 欧美成人精品h版在线观看| 亚洲国产精品一区二区www| 女同一区二区| 欧美18av| 亚洲午夜激情在线| 中国成人亚色综合网站| 国产精品久在线观看| 亚洲一区二区成人在线观看| 亚洲视频电影图片偷拍一区| 国产精品女人毛片| 久久久无码精品亚洲日韩按摩| 久久精品免费观看| 亚洲日本理论电影| 妖精视频成人观看www| 国产精品男gay被猛男狂揉视频| 欧美在线观看一区| 久久夜色精品国产噜噜av| 亚洲精品美女在线观看| 欧美精品一区二区视频| 欧美成人三级在线| 国产精品日产欧美久久久久| 最新国产乱人伦偷精品免费网站| 久久综合网hezyo| 麻豆成人在线| 在线一区二区三区四区五区| 亚洲午夜电影网| 黑人巨大精品欧美一区二区 | 久久久久国产精品麻豆ai换脸| 韩国自拍一区| 亚洲国产小视频在线观看| 国产精品免费观看在线| 蜜桃av综合| 欧美午夜欧美| 久久夜色精品亚洲噜噜国产mv| 欧美不卡在线| 香蕉久久夜色精品国产使用方法 | 国产精品一区二区久久久久| 久久亚洲国产精品一区二区| 欧美精品一区视频| 久久久爽爽爽美女图片| 欧美精品v日韩精品v韩国精品v| 亚洲欧美另类综合偷拍| 美女主播一区| 久久国产精品久久国产精品| 老司机一区二区| 欧美一区二区三区日韩| 欧美精品在线极品| 蜜臀av在线播放一区二区三区| 国产精品成人一区二区三区夜夜夜| 久久久欧美精品sm网站| 欧美日一区二区在线观看 | 亚洲一区二区三区中文字幕| 久久精品国产免费观看| 亚洲一区二区三区国产| 美女脱光内衣内裤视频久久影院 | 一本高清dvd不卡在线观看| 欧美一级网站| 亚洲欧美成人综合| 欧美精品一区在线发布| 欧美激情一区二区三区高清视频| 国产日韩欧美综合在线| aa级大片欧美三级| 日韩西西人体444www| 久久婷婷影院| 老色鬼精品视频在线观看播放| 国产欧美精品在线| 亚洲尤物在线视频观看| 欧美精品一区三区在线观看| 麻豆精品一区二区av白丝在线| 国产精品视频免费一区| 一区二区日韩精品| 一区二区三区久久精品| 欧美人成网站| 99热精品在线观看| 亚洲天堂久久| 国产精品福利网| 亚洲一区二区欧美日韩| 亚洲免费综合| 国产农村妇女精品一二区| 亚洲男人av电影| 久久九九久精品国产免费直播 | 一区二区三区四区精品| 欧美二区在线播放| 亚洲国产三级网| 亚洲美女在线国产| 欧美日韩国产美女| 这里是久久伊人| 欧美亚洲一区在线| 国产综合色一区二区三区| 久久www免费人成看片高清| 久久久噜噜噜久久狠狠50岁| 激情久久五月| 欧美成年人网| 日韩视频―中文字幕| 亚洲综合欧美日韩| 国产精品日本精品| 久久全国免费视频| 亚洲日本免费| 亚洲摸下面视频| 国模精品一区二区三区色天香| 久久久综合网| 亚洲精品免费看| 欧美影院一区| 91久久久久久国产精品| 欧美性理论片在线观看片免费| 午夜精品久久久久久99热| 欧美不卡在线视频| 亚洲直播在线一区| 在线欧美日韩精品| 国产精品二区三区四区| 久久中文字幕导航| 宅男噜噜噜66国产日韩在线观看| 久久精品99无色码中文字幕| 最新国产成人av网站网址麻豆| 欧美四级剧情无删版影片| 午夜视频精品| 亚洲精品日本| 久久午夜精品一区二区| 亚洲午夜精品久久久久久app| 国产主播在线一区| 欧美日韩精品一区二区在线播放| 久久国产日韩欧美| 夜夜嗨网站十八久久| 欧美国产精品一区| 久久精品国产久精国产一老狼 | 蜜臀久久99精品久久久久久9 | 久久精品一区二区三区不卡牛牛| 亚洲国产裸拍裸体视频在线观看乱了中文| 亚洲女同在线| 日韩视频三区| 在线成人免费视频| 午夜精品国产更新| 亚洲免费观看在线视频| 欧美成人精品| 久久五月天婷婷| 久久天天狠狠| 久久国产精品亚洲va麻豆| 亚洲一区二区动漫|