数値の型変換 実数を格納する実数の型float型の変数に 整数値を代入すると整数値は実数値に変換されます



数値の型変換 実数を格納する実数の型float型の変数に 整数値を代入すると整数値は実数値に変換されます


ソーラー 「も ちょっと数値の型変換について のべておこっかな。


以下のプログラムでは


実数の型 float型の変数aに


整数値 15


を代入しました。(´▽`)」


#include <stdio.h>


int main(void)

{

float a;

a=15;


printf("あなたの預金額はただいま%f円です。\n",a);

return 0;

}


プログラムの実行結果(EAZY IDECの場合)

プログラムの実行結果(Visual Studioの場合)


あなたの預金額はただいま15.000000円です。



このプログラムの実行結果は


どうして


このように表示されたかというと


整数値15を実数の型float型の変数aに代入すると


整数値15が実数の型float型の変数aにあわせて


実数値に変換されて実数の型float型の変数aに格納されます


そのため


printf("あなたの預金額はただいま%f円です。\n",a);


の実行結果は


あなたの預金額はただいま15.000000円です。


と表示されます


(実は 整数の型と実数の型は数値を格納する様式が異なっており


同じ数値15を格納するにも


コンピュータのメモリ内では大分違った並びで格納されています)


変数aに格納される整数値15は実数に変化したため


printf("あなたの預金額はただいま%f円です。\n",a);


において


変数aの値をprintf出力表示するには


%d出力変換指定子でなく%f出力変換指定子


が使われています。


試しに

今度は


別の整数値


1000000000を


float aに代入してみると


#include <stdio.h>


int main(void)

{

float a;

a=1000000000;


printf("あなたの預金額はただいま%f円です。\n",a);

return 0;

}


プログラムの実行結果は


あなたの預金額はただいま1000000000.000000円です。


が表示されることになります


整数値1000000000



実数値に変換されて


float型の変数aに格納されたというわけですね


どうかな おわかりいただけましたか・・・



えへ


小数点以下6桁までがprintf出力表示されるのは


%f出力変換指定子のはたらきだね
















































































































































































































































































































































































































































































































































































































































































































































































なになに


整数値15を実数の型floatの変数aに代入すると


整数値15が実数の型float型の変数aにあわせて


変換されて実数の型float型の変数aに格納されます



整数値15は

どのように実数の型float型の変数aに格納されているのか・・・ですって?


ううっ
















💖💖💖💖💖💖💖💖💖💖💖💖💖💖

ようこそ おいでませ!


ソーラーと


solarplexussの仮設ぶちあげのコーナーで~す


このコーナーは 仮設に


天国にいけるC言語入門に設置されております。


ですので いつ撤去されてもおかしくありません。


このコーナーでは調べても分からないところを


ソーラーとsolarplexussが


自ら仮説を立てながら考察をまじえて解説を試みていきます。


ですので 間違っている可能性があります。


ご容赦ください


ソーラー

「(実は 整数の型と実数の型は数値を格納する様式が異なっており


同じ数値15をメモリに格納するにも


コンピュータのメモリ内では少々違った並びで格納されています)



では


整数の型と実数の型に合わせて数値15がコンピュータのメモリに格納されるときの違いとは?


その答えは ?」


solarplexuss 「その答えは・・・」


ソーラー 「その答えは・・・」


solarplexuss「その答え🌻はな


ソーラー「ごくっ・・・」


solarplexuss


「その 答えは


         わかりません😝💖


です」



ソーラー「ぶぶぶちあげちゃったよ~~~\(^o^)/」


solarplexuss「🐤🐤🐤🐤🐤🐤🐤🐤🐤🐤🐤🐤🐤🐤🐤

🐤🐤🐤🐤🐤🐤🐤🐤🐤🐤🐤🐤🐤🐤🐤🐤🐤🐤🐤🐤

🐤🐤🐤🐤🐤🐤🐤🐤🐤🐤🐤🐤🐤🐤🐤🐤🐤🐤🐤🐤

🐤🐤🐤🐤🐤わかりませんんんんんんんんん🐤🐤🐤🐤🐤」


ソーラー「ひいい~~~~~~


なんなんだあ~~~~~」


solarplexuss「だから こんな隠れたところで議論してるんじゃないか?


ここはいいな~~~~~


しゃべりたい放題だし~😝」


ソーラー 「ま、それは いいところですよね。


このお話とは別のことなんだけど


物事を理解するときに


仮説を立てるのは本当 大事だと思うな


実際 ほんとの理解とよばれるものは


かなりの仮説の仮設😊の上になりたっているからね。


となると


ほんとの理解というものも


かなりの仮説の仮設の1部分にすぎないともいえるかな」


solarplexuss 「だからこそ いきなり


正しいといわれる数学の定理や証明をみせられても


まったく理解できない


なぜなら 理解に必要な土台が丸ごと 削られてしまっているから」


ソーラー「話が 脱線しちゃいましたよ」


solarplexuss 「🐤🐤🐤🐤🐤わかりませんんんんんん🐤🐤🐤🐤🐤」


ソーラー「ひいい~~~~~~」


solarplexuss 「失礼しました



では


整数の型と実数の型にあわせて


数値15がコンピュータのメモリに格納されるときの違いとは?


それを理解するためには


コンピュータのメモリ内に


整数や実数がどのように格納されているかを知る必要があります。


それは 後のエピソードで語られるので 


そこを参照していただければ


とても簡単に理解できるとおもわれます。😊」


ソーラー「ということで 今日は ここまで~


ソーラーと


solarplexussの仮設ぶちあげのコーナーでした~💖」



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

作者を応援しよう!

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

応援したユーザー

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

新規登録で充実の読書を

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

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

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