翻訳と辞書
Words near each other
・ Namie amuro PLAY tour 2007-2008
・ Namie amuro SO CRAZY tour featuring BEST singles 2003-2004
・ Namie amuro tour 2001 break the rules
・ NAMIKIBASHI
・ NAMInoYUKUSAKI
・ Namlook
・ NAMM
・ NAMMCO
・ Namo
・ NaN
・ Nan
・ NANA
・ Nana
・ NANA CLIPS
・ NANA CLIPS 1
・ NANA CLIPS 2
・ NANA CLIPS 3
・ NANA CLIPS 4
・ NANA MIZUKI "LIVE ATTRACTION" THE DVD
・ NANA MIZUKI LIVE FORMULA at SAITAMA SUPER ARENA


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

Nan ( リダイレクト:NaN ) : ウィキペディア日本語版
NaN
NaNNot a Number、非数、ナン)は、コンピュータにおいて、主に浮動小数点演算の結果として、不正なオペランドを与えられたために生じた結果を表す値またはシンボルである。NaNの体系的仕様は、無限大の表現などと共に1985年の IEEE 754 浮動小数点規格で標準が与えられている。
NaNには quiet NaN と signaling NaN の2種類がある。quiet NaN は不正な操作や不正な値で生じる誤りを伝播させるのに使用され、signaling NaN は数値計算との混合や基本的な浮動小数点演算への他の拡張といった高度な機能のサポートに使える。例えば結果が実数の範囲内でないゼロ除算において、ゼロ以外のゼロ除算は無限大だが、ゼロのゼロ除算は NaN である。負数の平方根虚数となるため、浮動小数点数としては表現できず、NaN で表現される。他に、正負の無限大の両方が絡んだために、どちらの無限大ともできないような計算の結果も NaN である。また、NaN は計算上必要な値が得られていない場合にも使われることがある〔Bowman, Kenneth (2006) An introduction to programming with IDL: Interactive Data Language. Academic Press. p. 26 ISBN 0-12-088559-X〕〔William H. Press, Saul A. Teukolsky, William T. Vetterling (2007) Numerical recipes: the art of scientific computing.p. 34 Cambridge University Press, ISBN 0-521-88068-8〕。
数値計算の類似用語としてNAがあるが、まったく異なる概念なので注意を要する。(後述NA参照)
== 浮動小数点数の NaN ==
浮動小数点演算においては、NaNと無限大は別の概念であるが、どちらも浮動小数点数としての表現も特殊であり、それを使った演算も特殊である(文献によっては、それら両方を含む広義の「非数」という表現が見られることもあるが、混同のおそれが無い場合以外は避けたほうがよい)。不正な演算という概念と、算術オーバーフロー(無限大を結果とする場合もある)や算術アンダーフロー(非正規化数か、ゼロとなる)は異なる。
IEEE 754では、NaNの表現について、指数部は全て1とし(これは無限大と同じ)、無限大の場合は仮数部の全てを0とするのに対し、NaNは全0以外の任意のビット列としている。他に、先頭の符号ビットで正負の区別がある。また、NaNの種別としてquiet NaN (''qNaN'') とsignaling NaN(''sNaN'')があり、例外を投げる場合について違いがある。
仮数部のビット列について任意としているため複数の表現があり得るが、それらが必ずしも区別して扱われるとは限らない。qNaNとsNaNの表現について規格の以前の版では具体的に決まっていなかったなど煩雑なため、詳細は#エンコードの節を参照。
IEEE 754 の単精度(32ビット)での NaN をビット列として表現すると s111 1111 1xxx xxxx xxxx xxxx xxxx xxxx となり、ここで ''s'' は正負の符号(多くのアプリケーションでは無視する)、''x'' は特殊ペイロード(多くのアプリケーションでは無視する)である。
大小比較以外の浮動小数点数操作は一般に quiet NaN をそのまま伝播する。signaling NaN に対する浮動小数点数操作は不正例外を発生し、デフォルトの例外処理ではqNaNをオペランドとしたときと同様に演算結果としてqNaNを生成するだけである。
NaNとの大小比較では、自分自身と比較した場合でも「大小不明な結果」を返す。比較には signaling と non-signaling があり、signaling 版では NaN との比較を行うと不正例外を発生する。等号および不等号で比較する場合は常に non-signaling であり、''x'' が quiet NaN なら ''x'' = ''x'' は偽 (false) を返す。他の一般的な大小比較は全て signaling であり、オペランドとして NaN を渡されると不正例外を発生するが、規格ではそれらの non-signaling 版も提供することになっている。''isNaN(x)'' は渡された値がNaNかどうかを判定する関数であり、''x'' が signaling NaN であっても例外を発生しない。
quiet NaN が演算を通して伝播していくため、計算途中で何度もチェックを入れる必要はなく、最終的に得られた値を調べればよい。ただし、言語や関数によっては NaN を渡されてもそれが計算結果に影響しない場合に黙って普通の浮動小数点数値を返すことがある。例えばどんな数でも0乗すれば1になるので、NaN^0 は 1 と定義することもできる。そのため一般に最終的な値を得るまでの過程で NaN が入り込んでいたかを示す INVALID フラグを調べる必要がある(詳しくは後述の関数定義における NaN節を参照)。
標準の最新版である IEEE 754-2008 の6.2節に、引数のうち大きい方あるいは小さい方を返す maxnumminnum という関数があるが、これらは引数の一方が NaN の場合は常にもう一方の引数を返す。
同様のコンセプトは GNU OctaveMATLAB のNaNツールボックスに実装されている〔NaN 'toolbox' 〕。NaNツールボックスに含まれる統計関数群(平均、標準偏差などの関数)は、NaNを統計データがないことを示すものとみなし、単に NaN を無視して伝播させない。

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「NaN」の詳細全文を読む

英語版ウィキペディアに対照対訳語「 NaN 」があります。




スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.