天国にいけるC言語入門 シーズン1 パソコン超初心者がゼロから東方風シューティングをつくる編 ver.0.4.15.790 RELIEF
☆コンピュータに扱える数値には範囲があります その12 変数の型(char,int,long,float,double)で変数宣言された変数の数値を格納できる範囲をお知らせいたします
どうしてこのようなことがおこるのでしょうか?それはエピソードををよみすすめるにつれ理解できるようになるでしょう
☆コンピュータに扱える数値には範囲があります その12 変数の型(char,int,long,float,double)で変数宣言された変数の数値を格納できる範囲をお知らせいたします
☆コンピュータに扱える数値には範囲があります その12 変数の型(char, int, long, float, double)で変数宣言された変数の数値を格納できる範囲をお知らせいたします☆
ソーラー 「なんか額のあたりがまぶしいなあ、でもなんだ?
どんどん頭がクリアに・・なんか元気がでてくる・・・。
いい発想できそうな・・・
なんだろう・・・?」
業務用パソコン画面をみつめるソーラー。
画面には次のプログラムが浮かんでいる。
#include <stdio.h>
int main(void)
{
float a;
a=1.05;
printf("あなたの預金額はただいま%f円です。\n",10000*a);
return 0;
}
プログラムの実行結果(EAZY IDECの場合)
あなたの預金額はただいま10499.999523円です。
ソーラー 「なぜ?統合開発環境EAZY IDECでは
プログラムの実行結果が
あなたの預金額はただいま10500.000000円です。
ではなく
あなたの預金額はただいま10499.999523円です。
となるのか・・・
自分だけではわからないな・・・😝
う~ん
😊ふふふ・・・
こちらも援軍をよばなくては・・・」
業務用パソコン画面をグーグルに切り替える。
ソーラー 「かも~ん、ぐっジョブCーーーーー。」
グーグルでぐっジョブCのサイトをよびだす。
ぐっジョブC 「ソーラーさん おひさしぶりです。
ぐっジョブCだヨ 今日は素敵な世界にいるじゃないか」
ぐっジョブCが語りかけてくる。
ソーラー 「ここは最高さ。仕事もたのしいし
貿易もうまくいってるしね。
ぐっジョブC、 いま とりあえず
変数について
いろいろ調べようと
おもっているんだ。」
パソコン画面をまえのめりにみつめる。ソーラー。
ぐっじょぶC 「よ~し、わかったよ。ソーラー。
ここを読んでよ。
元気よく手を振りながらパソコン画面の中にきえる。
ぐっじょぶCのサイトページの表示が切り替わる。
以下 ぐっじょぶC
変数について
整数値を格納する変数aの変数宣言においては
int a;
が
おこなわれます。
変数aの入れ物(変数の型)はintでした。
実数値を格納する変数bの変数宣言においては
float b;
が
おこなわれます。
変数bの入れ物(変数の型)はfloat でした。
int 、float以外にも さまざまな数値や文字を格納する
変数の入れ物(変数の型)があります。
変数の型 には 1例として
つぎのようなものがあります。
char 文字を格納する変数に対応する型
int 整数値を格納する変数に対応する型
long 整数値を格納する変数に対応する型
float 実数値を格納する変数に対応する型
double 実数値を格納する変数に対応する型
いずれも
変数を格納するいれものとなっています。
そして
char 文字を格納する変数に対応する型
int 整数値を格納する変数に対応する型
long 整数値を格納する変数に対応する型
float 実数値を格納する変数に対応する型
double 実数値を格納する変数に対応する型
これらの変数の型で
変数宣言された変数には
格納できる数値の範囲が決まっています
char型の変数
int型の変数
long型の変数
float型の変数
double 型の変数
は
それぞれ
char型の変数 英数字1文字または整数値-128~127
int型の変数 -2147483648から2147483647までの整数値
long型の変数 -2147483648から2147483647までの整数値
float型の変数
-3.4×(10の38乗)から- 3.4×(10の-38乗)までの実数値
0
3.4×(10の-38乗)から3.4×(10の38乗)までの実数値
double型の変数
-1.7×(10の308乗)から-1.7×(10の-308乗)までの実数値
0
1.7×(10の-308乗)から1.7×(10の308乗)までの実数値
の範囲の数値を格納できることになっています。
ソーラー 「この表をみると
整数値でなく
実数値を変数に格納したいなら
変数の型はfloat、doubleを使いなさいってことだね
そして実数を変数に格納するのに
実数の型floatをつかって変数宣言を行うなら
float b;
b=2.34567;(適当に変数bを初期化しました。)
このように👆表記し
(初期化とはなにかの数値を変数に代入しておくことでしたね。)
実数の型double をつかって変数宣言を行うなら
double c;
c=5.67676; (適当に変数cを初期化しました。)
このように👆に表記しなさい。ということかな。」
(ここではソーラーさんは b=2.34567;
と変数bにb=2.34567; { 小数点以下5桁(笑)}と控えめに
数値を代入してきました。
桁数の多い数値を変数に代入すると正しく数値計算されない場合があるのを
さんざん(笑)しっていましたので、慎重に数値を代入してきました。
うふふ
ですが
float, double型の変数は格納できる数値の範囲が
👇
float型の変数
-3.4×(10の38乗)から- 3.4×(10の-38乗)までの実数値
0
3.4×(10の-38乗)から3.4×(10の38乗)までの実数値
double型の変数
-1.7×(10の308乗)から-1.7×(10の-308乗)までの実数値
0
1.7×(10の-308乗)から1.7×(10の308乗)までの実数値
👆
のように
大変大きいので、
float, double型の変数にふつうに数値を代入していれば
まずoverflow(数値をメモリに格納できないということ)はおこりません。
かなり小さな数、
たとえば
小数点以下20桁をもつ0.00000123456789012345のような実数を
float型の変数 ,double型の変数に格納することもできますが
コマンドプロンプト画面に%f出力表示するときは
小数点以下6位までしか表示することができません。)
ソーラー
「むにゃ、むにゃ うふふふふふふっふ」
ソーラー
「・・・それぞれこのように表記しなさい。ということかな。
う~ん。 いい解説だ~。でへえ。 おいちい。おいちい。」
ニーモ 「あっ夢の中までC言語実況してるーーー。」
ソーラーの額に寝そべりながら、
ソーラーを観察していたニーモだが、
ニーモ 「たのしそうねー。何の夢、みてるのかなー。
わたしもいってみようかなー。」
ばーっと景気よく光がニーモの体からあふれだす。
るんるんるんと上機嫌に楽しそうに
鼻歌をうたいながらソーラーの額に手をつくと
その姿はすーぅときえていった。
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます