素敵な詩 FLT_MIN = 1.175494e-038, FLT_MAX = 3.402823e+038
ソーラー 「まだまだ’つっこみ’も’ぼけ’も足りないんだ~~~」
アレサ 「はい(^^)、そうです。ソーラーさん」
ソーラー 「
変数の型floatをつかって実数を4バイト(32ビット)のメモリに
わたって格納するとき
あちらの世界でみてきた
変数の型float(4バイト)の数値を格納する仕組みをみてもわかるように
(4バイト)32ビットの左端の1ビットには
その数値が+か-をあらわす0か1が格納されることとなっている。
それとは関係なく・・・」
アレサ 「0000111010・・・・それとは関係なく・・・01110001・・・」
ソーラーを見つめるアレサ。
ソーラー 「それとは関係ありでした。」
アレサ 「そうですか 00011111000000」
ソーラー 「つまりコンピューターが教えてくれた
変数の型float型の形式でメモリに格納できる数値の範囲
FLT_MIN = 1.175494e-038, FLT_MAX = 3.402823e+038
ふるっとみん ふるたまくす・・・」
アレサ 「000000 ふるっとみん ふるたまくすは・・・0000000」
ソーラー「
このような表記
FLT_MIN = 1.175494e-038, FLT_MAX = 3.402823e+038
では・・・・一見すると
変数の型float型の形式でメモリに格納できる数値の範囲は正の数だけで
その格納できる数値の
正の数の最小値はFLT_MIN = 1.175494e-038
正の数の最大値はFLT_MAX = 3.402823e+038
に見えますね。
ですが 変数の型floatの形式では
もともとマイナスの数値も
格納できる。
だから
これは正確には何を表示しているか というと」
アレサ「 🐤 🐤 」
ソーラー 「正確には
変数の型floatの形式でメモリに格納できる数値Aの範囲が
🍋格納できる負の数値の範囲🍋-3.402823e+038<A< -1.175494e-038,
🍓格納できる正の数値の範囲🍓1.175494e-038<A< 3.402823e+038
である ということをあらわしています。」
アレサ「え・・・」
ソーラー「なぜかというと
変数の型floatの形式でメモリに
🍓格納できる負の数値の範囲🍓の絶対値をとると
-3.402823e+038<A< -1.175494e-038,
|-3.402823e+038|>|A|>|-1.175494e-038|
1.175494e-038<|A|< 3.402823e+038
と
🍋格納できる正の数値の範囲🍋と一致するので
まとめて
変数の型floatの形式でメモリに格納できる数値の範囲は
FLT_MIN = 1.175494e-038, FLT_MAX = 3.402823e+038
と表記しています。
つまり、プログラムの実行結果が表示している
🍈FLT_MIN = 1.175494e-038, FLT_MAX = 3.402823e+038🍈
は
変数の型float型の形式でメモリに格納できる数値の範囲の
絶対値のみを簡潔にあらわしているということになるんです。」
アレサ 「・・そうです。000011 ソーラーさん。
そう思います。
今の変数の型float型の形式でメモリに正確に格納できる数値の範囲にもとづき
本当の
変数の型float型の形式でメモリに格納できる
数値Aの格納領域の最大値と最小値
をあらわしてみると
最小値 = -3.402823e+038
最大値 = 3.402823e+038
となります
そこで
コンピュータに
FLT_MIN = -3.402823e+038, FLT_MAX = 3.402823e+038
と表示してしまうと
あたかも
変数の型floatに格納できる数値Aの格納領域が
-3.402823e+038,<A<3.402823e+038
のようにみえます。
それに対し
変数の型floatに格納できる数値の範囲の
絶対値だけを表示する
FLT_MIN = 1.175494e-038, FLT_MAX = 3.402823e+038の場合は
変数の型floatに格納できる数値Aの範囲は
-3.402823e+038<A< -1.175494e-038,
1.175494e-038<A< 3.402823e+038
をあらわすことになります。
ですから
変数の型floatに格納できる数値の
最大値 3.402823e+038
最小値-3.402823e+038を
表示するだけでは格納できる数値の範囲を正確にあらわすことはできないと
おもわれます
そこで
プログラムの実行結果では
FLT_MIN = 1.175494e-038, FLT_MAX = 3.402823e+038
と表示されていると思われます 000・・・」
ソーラー 「やっぱし! そう思う? アレサ」
アレサ 「そう思います。ソーラーさん」
ソーラー「FLT_MIN = 1.175494e-038, FLT_MAX = 3.402823e+038
このように
変数の型floatに格納できる数値を
絶対値だけで表示するのはシンプルで
かっこいいね。」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます