忍者ブログ
日々の研究生活のメモ書きなど
判別する方法は、
#include <math.h>

if ( isnan(x) ) {
 // これはNaNの場合
} else {
 // NaNでない場合
}

if ( isinf(x) ) {
 // これはInfの場合
} else {
 // Infでない場合
}
じゃあ判別できているのかのテストの方法は、

■ 参考 : infやnanになる条件

log(0)とか、5/0.0とかやってみたけどすべてInfになってしまった・・・

■ 参考 : 8.3 math.h

このままではNaNのテストができないので、
math.hにNANってマクロがあるらしいので、それに対して調べてみた

あとでもうちょっと調べてみたら、sqrt(-1.0)って作り方もあるらしい




以前軽く調べた知識によると、IEEE_754では
NaNもInfも指数部のビット全て1(つまり255)
NaNは仮数部が0以外の任意の値
Infは仮数部が0
らしい

そんなことを知らなくても、上記のisnanとかで調べられるからまぁいっか・・・・










PR
この記事にコメントする
Name
Title
Color
E-Mail
URL
Comment
Password   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
プロフィール
HN:coffee
職業:物理屋(自称)
趣味:映画鑑賞、登山
出身:大阪府の南の田舎
自己紹介:
#include <stdio.h>
#include "MyProfile.h"

#define TWITTER coffee_pote

#ifdef RICH_FLAG
// ↑いつも支援いただきありがとうございます m(_ _)m
#define WISH_LIST
amazonのほしい物リスト
#endif


int main(void){

printf("\n");
printf("あけましておめでとうございます\n");
printf("今年もどうぞよろしくお願いします\n");
printf("\n");
printf("猿でもわかるgnuplot を執筆中\\
少し追記しました\n");
/* 最終更新 2018/01/01 */
return 0;

}
カウンター
ブログ内検索
ツイートするボタン
Flickr

Template "simple02" by Emile*Emilie
忍者ブログ [PR]