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

O(1) 的小樂

Job Hunting

公告

記錄我的生活和工作。。。
<2010年11月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

統(tǒng)計(jì)

  • 隨筆 - 182
  • 文章 - 1
  • 評(píng)論 - 41
  • 引用 - 0

留言簿(10)

隨筆分類(70)

隨筆檔案(182)

文章檔案(1)

如影隨形

搜索

  •  

最新隨筆

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

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的縮寫,就是說它不是一個(gè)數(shù)。NaN是定義在IEEE 754標(biāo)準(zhǔn)中的特殊值,類似的特殊值還有INF(無窮大,INFinite)。IEEE 754是定義浮點(diǎn)數(shù)的標(biāo)準(zhǔn),有1985和2008兩個(gè)版本。其中,2008版本還定義了十進(jìn)制浮點(diǎn)數(shù)的標(biāo)準(zhǔn)。

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

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

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

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

INF,它溢出到無窮大

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

0,它竟然還有正負(fù)

在IEEE浮點(diǎn)數(shù)中,0也是特殊的,因?yàn)樗?0和-0兩種(“正零”和“負(fù)零”)。其中,1除以“負(fù)0”等于“負(fù)無窮大”,1除以“正0”等于“正無窮大”。

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

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

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

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

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

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

參考資料/延伸閱讀

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標(biāo)準(zhǔn)

 

 

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

 

這個(gè)問題是在看Fundamentals of Computer Graphics的時(shí)候看到的!總結(jié)一下:

當(dāng)深入理解了IEEE標(biāo)準(zhǔn)和NAN之后,我們完全可以改善程序的設(shè)計(jì)來避免復(fù)雜的判斷!這一點(diǎn)是完全可以做到的!注意Signalling NaN 和Quiet NaN

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


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


統(tǒng)計(jì)系統(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>
            欧美久久久久久| 日韩视频一区二区| 日韩亚洲综合在线| 亚洲精品黄色| 亚洲精品一区二区三区婷婷月 | 欧美国产日韩一区二区三区| 久久漫画官网| 欧美大片18| 国产精品盗摄一区二区三区| 国产欧美精品国产国产专区| 狠久久av成人天堂| 亚洲伦理在线观看| 午夜激情一区| 狂野欧美激情性xxxx欧美| 欧美电影在线| 99在线视频精品| 亚洲欧美资源在线| 久久综合久久久久88| 欧美视频国产精品| 禁久久精品乱码| 一区二区三区视频在线看| 欧美一区二区三区精品| 欧美高清视频一区二区三区在线观看| 亚洲高清不卡av| 亚洲人成在线观看| 性亚洲最疯狂xxxx高清| 免费成人你懂的| 国产精品一区二区三区四区| 亚洲国产精品一区二区尤物区| 亚洲毛片播放| 久久久视频精品| 亚洲精品国产拍免费91在线| 香蕉久久a毛片| 久久成人人人人精品欧| 影音先锋久久久| 亚洲一区二区三区久久 | 国内精品久久久久伊人av| 亚洲精品综合精品自拍| 久久精品噜噜噜成人av农村| 亚洲另类在线一区| 久久五月天婷婷| 国产情人节一区| 亚洲一区二区三区激情| 亚洲欧洲一二三| 老妇喷水一区二区三区| 国产午夜久久| 亚洲男人av电影| 亚洲精品日韩在线| 模特精品在线| 亚洲黄一区二区三区| 欧美专区一区二区三区| 中文一区在线| 国产精品福利在线观看网址| 一区二区国产日产| 亚洲区一区二| 欧美区一区二| 一本久久a久久精品亚洲| 亚洲二区在线视频| 免费日韩av电影| 亚洲国产精品成人| 欧美电影打屁股sp| 嫩草影视亚洲| 亚洲日韩视频| 亚洲人www| 欧美日韩三区| 亚洲一区二区精品在线| 一区二区三区av| 国产精品每日更新| 欧美中文字幕| 久久手机精品视频| 最新中文字幕一区二区三区| 亚洲电影一级黄| 欧美高清视频在线| 一区二区三区日韩欧美| 亚洲婷婷综合久久一本伊一区| 国产精品高精视频免费| 欧美亚洲日本网站| 久久九九免费视频| 亚洲精品乱码| 亚洲一区二区3| 国产自产高清不卡| 亚洲国产高潮在线观看| 欧美无砖砖区免费| 欧美一级二区| 久久一日本道色综合久久| 亚洲精品视频啊美女在线直播| 99精品国产热久久91蜜凸| 国产欧美成人| 最近看过的日韩成人| 欧美性色aⅴ视频一区日韩精品| 欧美一区二区日韩一区二区| 狂野欧美性猛交xxxx巴西| 亚洲影院免费| 欧美三级欧美一级| 亚洲一区二区av电影| 欧美一区二区三区免费视| 亚洲丰满在线| 亚洲视频在线观看免费| 136国产福利精品导航网址| 亚洲激情视频| 国产精品一区二区久久久| 麻豆av一区二区三区久久| 欧美日韩美女在线| 久久精品1区| 欧美精品久久天天躁| 欧美一区深夜视频| 欧美福利电影网| 久久成人一区二区| 欧美理论电影网| 久久人人爽人人爽爽久久| 欧美精品亚洲| 亚洲人成免费| 欧美一区亚洲| 亚洲午夜影视影院在线观看| 久久先锋资源| 欧美在线播放一区| 欧美日韩一视频区二区| 欧美成年人视频| 国产日韩一区二区三区在线| 亚洲国产天堂网精品网站| 国产精品高潮在线| 亚洲经典一区| 在线播放中文字幕一区| 中文一区二区| 亚洲精品国产精品国自产观看| 亚洲欧美日韩综合一区| 一区二区三区四区国产| 老司机亚洲精品| 久久夜色精品国产亚洲aⅴ| 国产精品高精视频免费| 亚洲人精品午夜| 亚洲激情自拍| 美女脱光内衣内裤视频久久影院| 久久精品盗摄| 国产亚洲精品一区二区| 亚洲一区激情| 亚洲一区二区高清视频| 欧美国产日韩一区| 亚洲韩国精品一区| 亚洲看片网站| 欧美日韩一区二区三区在线视频| 91久久一区二区| 9色精品在线| 欧美日韩国产综合视频在线观看| 亚洲精品美女久久7777777| 日韩一级欧洲| 欧美四级在线| 亚洲午夜三级在线| 欧美一区二区三区婷婷月色| 国产精品免费看久久久香蕉| 亚洲一区二区三区四区中文| 欧美亚洲视频一区二区| 国产欧美日韩视频一区二区| 欧美亚洲综合另类| 久热爱精品视频线路一| 在线免费高清一区二区三区| 老司机一区二区三区| 亚洲黄色在线| 亚洲制服少妇| 国内精品美女av在线播放| 亚洲欧洲日产国产网站| 欧美日韩国产精品成人| 亚洲美女黄网| 午夜精品美女自拍福到在线| 国产精品午夜在线观看| 亚洲先锋成人| 久久亚洲二区| 亚洲免费观看在线视频| 欧美一区二区三区四区视频| 久久噜噜亚洲综合| 亚洲日韩欧美视频一区| 国产精品久久福利| 久久成人精品无人区| 亚洲国产成人tv| 欧美日韩亚洲一区二区三区在线| 一区二区三区鲁丝不卡| 久久综合久久美利坚合众国| 一区二区av在线| 黄色成人av网| 欧美日韩在线播放三区四区| 久久se精品一区精品二区| 亚洲国产精品久久久久秋霞不卡| 午夜精品久久久久久久| 最新国产精品拍自在线播放| 国产精品视屏| 欧美母乳在线| 久久综合给合| 欧美一区二区高清| 一区二区三区久久精品| 亚洲国产福利在线| 久久久久久久久岛国免费| 99视频日韩| 亚洲国产激情| 韩国美女久久| 国产视频欧美视频| 国产精品色午夜在线观看| 欧美精品一区二区三区高清aⅴ| 久久久久国产精品一区| 午夜电影亚洲| 亚洲免费在线观看视频|