NaNとは?

辞典・百科事典の検索サービス - Weblio辞書

初めての方へ

参加元一覧


用語解説|製品情報|ニュース|動画|本・雑誌|商品|全文検索

三省堂 大辞林

三省堂三省堂

日本化学物質辞書Web

独立行政法人科学技術振興機構独立行政法人科学技術振興機構

NAN‐190

分子式C23H27N3O3
慣用名NAN-190、2-[4-[4-(2-Methoxyphenyl)-1-piperazinyl]butyl]-1H-isoindole-1,3(2H)-dione、N-[4-[4-(2-Methoxyphenyl)piperazino]butyl]phthalimide、2-[4-[4-(2-Methoxyphenyl)piperazine-1-yl]butyl]-2H-isoindole-1,3-dione、2-[4-[4-(2-Methoxyphenyl)piperazine-1-yl]butyl]isoindoline-1,3-dione、NAN、セロトニンきっ抗NAN、1-(2-Methoxyphenyl)-4-[4-(1,3-dioxoisoindoline-2-yl)butyl]piperazineSerotonin antagonist NAN、セロトニンアンタゴニストNAN
体系名:2-[4-[4-(2-メトキシフェニル)-1-ピペラジニル]ブチル]イソインドリン-1,3-ジオン、N-[4-[4-(2-メトキシフェニル)ピペラジノ]ブチル]フタルイミド、2-[4-[4-(2-メトキシフェニル)-1-ピペラジニル]ブチル]-1H-イソインドール-1,3(2H)-ジオン、2-[4-[4-(2-メトキシフェニル)ピペラジン-1-イル]ブチル]-2H-イソインドール-1,3-ジオン、2-[4-[4-(2-メトキシフェニル)ピペラジン-1-イル]ブチル]イソインドリン-1,3-ジオン、1-(2-メトキシフェニル)-4-[4-(1,3-ジオキソイソインドリン-2-イル)ブチル]ピペラジン



三国志小事典

むじん書院むじん書院

南郡Nan

ナン

領城17
戸数162,570
人口747,604

太守蔡瑁 / 周瑜 / 程普 / 麋芳

【郡人】習授 / 馮習

【領城】江陵 / 巫 / 秭帰 / 中盧 / 編 / 当陽 / 華容 / 襄陽 / 印(邔) / 宜城 / 鄀 / 臨沮 / 枝江 / 夷道 / 夷陵 / 州陵 / 佷山



ウィキペディア

ウィキペディアウィキペディア

NaN

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2009/11/25 01:57 UTC 版)

NaNNot a Number、非数、ナン)は、コンピュータにおいて、主に浮動小数点演算の結果として、不正なオペランドを与えられたために生じた結果を表す値またはシンボルである。 たとえば、多くのFPUは負の数値の平方根を求めることができないため、演算結果が不正であることを示す値としてNaNが生成される。 数値計算の類似用語としてNAがあるが、まったく異なる概念なので注意を要する。(後述NA参照)

目次

浮動小数点数の NaN

浮動小数点演算においては、NaNと無限大は別の概念であるが、どちらも浮動小数点数としての表現も特殊であり、それを使った演算も特殊である。不正な演算という概念と算術オーバーフロー(無限大を結果とする場合もある)と算術アンダーフロー(最小の正常な数値か、非正規化数か、ゼロとなる)は異なる。

NaNは、NaNを含むどんな浮動小数点数と比較しても等しくない。NaNの内部表現が一種類だとしてもである。そこで、変数の値がNaNかどうかは、それ自身と比較してみればすぐにわかる。

IEEE 754 浮動小数点規格では、NaNを使った演算は常に結果がNaNとなり、計算の途中でNaNが発生するとそれが伝播していく。現在策定中のIEEE 754r規格では、この規則にふたつの例外が設けられる予定である。 maxnumminnum というふたつのオペランドの大きい数か小さい数を返す操作に関して、数をなるべく返す(つまり、オペランドの一方がNaNである場合にもう一方の数を返す)。 これはまばらなデータを統計処理する場合に便利である。

同様のコンセプトはGNU OctaveMATLABのNaNツールボックスに実装されている([1])。 NaNツールボックスに含まれる統計関数群はNaNを発生させないようになっている。 NaNツールボックスの多くのアルゴリズムはSUMSKIPNANの機能に基づいている([2])。 SUMSKIPNANは全ての数値を加算する際に全てのNaNをスキップする。 NaNツールボックスも数のみに基づいて統計処理をするため、値が抜けているようなデータを統計処理する際に便利である。

NaN が返される演算

以下の処理で NaN が生成される可能性がある。

  • 唯一の引数に NaN を指定された数学関数
  • 次のような除算: 0/0、∞/∞、∞/-∞、-∞/∞、-∞/-∞
  • 次のような乗算: 0×∞、0×-∞
  • 負の数の平方根、ゼロや負数の対数、-1未満の値や+1より大きい値の逆三角関数といった値が未定義となる演算

なお、これらの場合に常に NaN が生成されるわけではない。一つ目の処理の場合、ほぼ間違いなく NaN が生成されるが、他はそうとは限らない。例えば x86アーキテクチャのFPUは最初の項目以外では NaN を生成せず、例外を発生させる。もちろん、ソフトウェアによる例外処理で NaN を返すようにして計算を続行させる可能性もある。

quiet NaN

quiet NaN あるいは qNaN は演算過程で伝播していく以外に何も例外などを発生させない。 ただし、NaNを出力できない処理の場合は別である。たとえば、フォーマットの変換やある種の比較操作である(NaNが入力されることを想定していない操作)。

signaling NaN

signaling NaN あるいは sNaN は特殊なNaNであり、多くの操作に入力として用いられたときに不正例外を発生する(訳注:通常、オペレーティングシステム例外処理が呼び出される)。その後、sNaN は qNaN に変化し、伝播していく。 この機能の使い方はいくつかある。

  • 未使用メモリに signaling NaN の値を入れておくと、初期化前にそのデータが使われたときに不正例外が発生するようにできる。
  • sNaN をもっと複雑なオブジェクトのプレースホルダーとして使うこともできる。
    • 算術アンダーフローとなった数を表現する。
    • 算術オーバーフローとなった数を表現する。
    • より高い精度フォーマットの数
    • 複素数

これらに遭遇するとトラップハンドラは sNaN をデコードして計算結果へのインデックスを返す。 実際にはこの手法は非常に複雑である。 NaN の正負の符号ビットの単純な操作(たとえば絶対値を返す操作)における扱いは通常の算術操作とは異なる。 トラップ処理は規格上は要求されていないので、移植性が問題となる。 このような問題を扱う他の移植性の高い方法がいくつか存在する。

signaling NaN を将来の標準規格でも採用すべきかどうか疑問の声も出ている。

関数定義における NaN

数値関数が入力として NaN を受け取ったとき、どう処理すべきかについては様々な意見がある。1つの見方は、NaN はエラーを示すものとして常に出力に伝播させなければならないというものである。別の見方として、その関数に複数の引数があり、NaN でない引数だけで出力値が決定される場合、その値を返すべきだという考え方もある。

例えば、pow(x,y) = x ** y という関数定義があった場合、pow(1, NaN) の値はどうすべきだろうか? 1は何乗しても1だが、NaN乗しても1と言えるのかという問題である。多くの数値計算ライブラリでは、なるべく NaN でない普通の数を返すような方針となっているものが多い。

同様の問題として、無限大との大小比較がある。通常の数は常に無限大より小さい。しかし IEEE 754 では、(NaN <= infinity) は偽となる。

整数の NaN

固定ビット幅の整数フォーマットは明確に不正データを示す方法がない。

Perlの BigInt パッケージは正常な整数でないものを表す文字列として "NaN" を使用する。

>perl -mMath::BigInt -e "print Math::BigInt->new('foo')"
NaN

NaN の表示

各種ライブラリやプログラミング言語は NaN を文字列表記する場合、それぞれ独自の表示となっている。以下にその例を列挙する。

 nan
 NaN
 NaN%
 NAN
 NaNQ
 NaNS
 qNaN
 sNaN
 1.#SNAN
 1.#QNAN
 +nan.0
 -nan.0
 -1.#IND

実際、NaN には符号と診断用の情報(ペイロード)が含まれており、NaN の文字列表記で以下のように表示されることがある。

 -NaN
  NaN12345
 -sNaN12300

NaN の符号化

quiet NaN と signaling NaN の符号上の識別方法は IEEE 754 では規定されていないため、少なくとも2種類の符号化が存在する。IEEE 754rでは仮数部の最上位ビットが 1 なら qNaN、0なら sNaN とされる。こうすると、sNaN のそのビットを反転させて qNaN にしても、その値は NaN のままとなることが保証される。これは、インテルAMDのプロセッサの符号化方式と同じである。他のプロセッサはこれとは違った符号化方式となっている。

NA

紛らわしい言葉として、NA(Not availableの意味)がある。「数表のコラムにデータが存在しない場合」に使われ『欠損値』と訳される。 殊に統計計算の分野、R言語など統計解析ソフトウェアで用いられる。NaN==NaNの結果が偽なのに対し、NA==NAの結果はNAである。


ナン (曖昧さ回避)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2010/12/13 06:03 UTC 版)

(NaN から転送)

ナン (nan, nun)

  • ナン (nān)。インドや中近東のパン。
  • 修道女 (nun)。宗派は問わないが通常はキリスト教のもの。
  • ナーン (น่าน Nan)。タイの都市。
  • NaN。非数。
  • 。主に麻雀牌の呼び名として。




固有名詞の分類



NaNに関連した本


NaNに関係した商品


NaNのページへのリンク
「NaN」の関連用語
NaNのお隣キーワード
モバイル
モバイル版のWeblioは、下記のURLからアクセスしてください。
http://m.weblio.jp/
» モバイルで「NaN」を見る
_ _   


NaNのページの著作権
Weblio 辞書情報提供元は参加元一覧にて確認できます。

  
三省堂三省堂
Copyright (C) 2001-2012 Sanseido Co.,Ltd. All rights reserved.
株式会社 三省堂三省堂 Web Dictionary
独立行政法人科学技術振興機構独立行政法人科学技術振興機構
All Rights Reserved, Copyright © Japan Science and Technology Agency
むじん書院むじん書院
Copyright (C) 2012 mujin. All Rights Reserved.
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのNaN (改訂履歴)、ナン (曖昧さ回避) (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2012 Weblio RSS