ヘッダファイル< float.h>とは変数の型floatに関する情報を含んでいます

ソーラー 「いろいろな 参考書に変数の型 float型の形式でメモリに格納できる数値データの範囲


がかかれています。


ある参考書では±3.40282347×10の38乗から±1.40239846×10の-45乗


また


ある参考書では3.4×10の-38乗から3.4×10の38乗


となっています。」


アレサ 「そうですね。C言語の世界が華やかになっています。」


ソーラー 「ほんとですね。個性があっていいと思います。


まるで オンラインRPGのように広大な知識の世界がひろがっています。


モンスターだらけですね💖


どれも正解なのか?


わかりませ~ん???


ところで


あちらの世界で


変数の型float(4バイト)に


どのように2進数の数値が格納されるか調べていたときに


          実際に


自分のパソコン環境では


変数の型 floatが どれくらいの数値を格納することができるか



プログラムを組んで調べる方法をみつけたんですよ。」


アレサ 「そのようなぶつがあるのですか。」


ソーラー 

「そのプログラムとは以下のようになります。


#include <stdio.h>

#include <float.h>


int main()

{

printf("FLT_MIN = %e, FLT_MAX =%e\n", FLT_MIN, FLT_MAX);


return 0;

}



EASY IDECの


実行結果は


FLT_MIN = 1.175494e-038, FLT_MAX = 3.402823e+038


となります。


Visual Studioの


実行結果も


FLT_MIN = 1.175494e-038, FLT_MAX = 3.402823e+038


となります。


ここで


#include <stdio.h>の下に


#include <float.h>とプログラムにかかれているのが味噌ですね。」


アレサ「この<float.h>はなんでしょうか。ソーラーさん?」


ソーラー 「ただ何の説明もなく・・・


ヘッダファイル <float.h>と・・・・・」


アレサ 「ああっなんてことです。おおっ・・・


と、殿・・・


0101010010100101011110100101010010100100101?????・・・・


ヘッダファイルってなんのことです???」


ソーラー 「ははは 。大丈夫、大丈夫


私もぜんぜんわかりません。


でも、ここはヘキサ構造体の世界。無理に理解する必要のない世界


ヘキサしながら少しずつ理解が進んでいく世界。


ここでわからなくても


これからさきのエピソードに進んでいくうちに


自然とわかるようになるでしょう。


草原を軽やかに駆け抜けるRPGのように楽しんで進んでいきましょう。


僕的にはお笑い優先でいきたいな。もぐっもぐっ」


手に持ったおにぎりをおいしそうに味わうソーラー。


アレサ 「もぐっもぐっ そうなんですか。もぐっもぐっ


01010111010010101010010111111・・・」


ソーラーに負けぬ勢いでおにぎりをほおばるアレサ。


ソーラー 「アレサさんっ!!!」


アレサ 「はっはい?00000000」


おにぎりを思わず口からこぼすアレサ。


それをみてニヤリとするソーラー。



ソーラー

「今のプログラムの


この実行結果をみてください!!!


FLT_MIN = 1.175494e-038, FLT_MAX = 3.402823e+038


                          」


アレサ 「は・・・はいっ」


しんとしずまりかえるアレサ。


ソーラー 「この実行結果


FLT_MIN = 1.175494e-038, FLT_MAX = 3.402823e+038


のすごいところは


floatの格納数値範囲が


ある参考書では

±3.40282347×10の38乗から±1.40239846×10の-45乗


またある参考書では

3.4×10の-38乗から3.4×10の38乗


と記述されているのですが


そのどちらとも


じぇんじぇんちがうところなんです。」


アレサ 「???」


ソーラー 「つまり


プログラムを組んでコンピュータで


直に調べたのですから


float型の形式でメモリに格納できる数値の範囲は


FLT_MIN = 1.175494e-038, FLT_MAX = 3.402823e+038


が正しいはずなんです。


すなわち


ある参考書では±3.40282347×10の38乗から±1.40239846×10の-45乗


また


ある参考書では3.4×10の-38乗から3.4×10の38乗


とは


皆さんの想像をかきたてるための美しい詩だったのです。」


アレサ 「ふふふ・・・0000000010101010000000


な、なんのことですか・・・ふふふふふ・・・」


ソーラー 「これは 私たち学習者におそれず


どんどんいろんな問題に


チャレンジしなさい



                『 強く生きよ。』



という筆者たちの愛なのです。」


アレサ 「000000000・・・111・・・


そ、そんな・・・おくゆかしいことを・・・


そのようなおもいやりがあったなんて・・・」


畏まるアレサ。


ソーラー 「これで


みなさんもいろんな人の愛情に囲まれているのが


わかったでしょう。」


がしっと


アレサの手をにぎりしめるソーラー。


アレサ 「11111・・・ そう・・・だったんですね・・・」


感動しているアレサ。


ソーラー 「さあ、私たちも超絶適当にすすんでいきましょう。


ヘキサ構造体である以上


どうやっても理解できるようになるのですから・・・


さあ!アレサ。!」


アレサ 「はい、ソーラーさん!!!」


瞳をかがやかせるアレサ。


これから・・・


かつてないほど超適当なC言語の旅が幕をあける。(ほんとうです)

  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る