16.02.2013 Aufrufe

24531904_j

24531904_j

24531904_j

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

極端な場合には、 先頭の 0 による右シフトの結果、 すべての有効ビットが失われ、 結果が<br />

0 になるこ と もある。<br />

プ ロ セ ッ サは、 以下の方法でデ ノ ー マル値を処理する。<br />

• でき るだけ数値を正規化する こ と によ って、 デノ ーマル数が発生しないよ う にする。<br />

• デノ ーマル数が発生した場合は、 プログラマがそれを検出でき る よ う に、 浮動小数<br />

点アンダー フ ロ ー例外を生成する。<br />

• 計算の ソ ー ス ・ オペラ ン ド にデ ノ ー マル値が使用 さ れた場合は、 プ ロ シ ー ジ ャ ま た<br />

はプ ロ グ ラ ムがそれを検出で き る よ う に、 浮動小数点デ ノ ー マル ・ オペラ ン ド 例外<br />

を生成する。<br />

3.7.1.7 符号付き無限大<br />

3.7.1.8 NaN<br />

3.7.1.9 不定数<br />

+∞ と -∞の 2 つの無限大は、 浮動小数点フ ォ ー マ ッ ト で表現可能な、 最大の正の実数 と 負<br />

の実数を表す。 無限大は、 常に、 0 の仮数 ( 小数部お よ び整数ビ ッ ト ) と、 指定された<br />

フォーマットで使用可能な最大のバイアスされた指数( 例えば、 単精度実数フ ォ ー マ ッ ト<br />

では 25510 ) で表現される。<br />

無限大の符号は検出 さ れる ため、 比較が可能であ る。 無限大は、 常に擬似的な意味で解釈<br />

される。 つま り、 -∞ は任意の有限数よ り小さ く 、 +∞ は任意の有限数よ り大きい。 また、<br />

無限大の算術演算は、常に正確である。例外は、無限大をソース・オペランドとして使用<br />

したために操作が無効になった場合にのみ発生する。<br />

結果がデノ ーマル数になった場合は、 アンダー フ ロ ー状態が発生したこ と を示す。 結果が<br />

+∞ または -∞ にな っ た場合は、 オ ーバー フ ロ ー状態が発生した こ と を示す。 こ の場合は、<br />

正規化 さ れた計算結果のバイアス さ れた指数が、選択 さ れた計算結果フ ォ ー マ ッ ト で使用<br />

可能な最大の指数を超えてい る。<br />

NaN は非数であるため、 実数ラインの一部ではない。 図 3-10 では、 プロセッサの浮動小<br />

数点フ ォ ー マ ッ ト 内の NaN のエンコ ーデ ィ ング空間は、 実数ラインの両端の上部に示さ<br />

れてい る。 こ の空間に は、 使用可能な最大のバイ アス さ れた指数部 と ゼ ロ でない小数部を<br />

持つ任意の値が含まれる。 NaN については、 符号ビ ッ ト は無視 さ れる。<br />

IEEE 規格では、 ク ワ イ エ ッ ト 型 NaN (QNaN) とシグナル型NaN (SNaN) の 2 つのク ラスが<br />

定義 さ れてい る。 QNaN は、 小数部分の最上位ビッ ト がセッ ト されている NaN である。<br />

SNaN は、 小数部分の最上位ビ ッ ト が ク リ ア さ れてい る NaN である。 ほ と ん ど の算術演算<br />

では、 QNaN は例外を通知せずに伝搬 さ れる。 算術演算のオペラ ン ド と して SNaN が使用<br />

さ れた場合は、 通常は無効操作例外が通知さ れる。 NaN に関連する例外と、 プロセ ッサ<br />

による NaN の処理方法については、 3.7.2 項で説明する。<br />

QNaN 不定値は、 マス ク さ れている無効操作浮動小数点例外に対する応答 と して生成 さ れ<br />

る。 整数不定値は、 単精度浮動小数点数か ら 32 ビ ッ ト 整数への変換時に発生する可能性<br />

がある値であり、 80000000H として定義されている。<br />

3.7.2 NaN の操作<br />

3.7.1.8 項で説明したよ う に、ス ト リ ー ミ ング SIMD 拡張命令は、SNaN と QNaN の 2 種類の<br />

NaN をサポー ト している。 SNaN と は、 小数部分の最上位ビ ッ ト が 0 にセッ ト され、 小数<br />

部分のその他のビ ッ ト の う ち少な く と も 1 つが 1 にセッ ト されている、 任意の NaN 値で<br />

3:862 第 3 巻 : IA-32 ストリーミング SIMD 拡張命令リファレンス

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!