天国にいけるC言語入門 シーズン1 パソコン超初心者がゼロから東方風シューティングをつくる編 ver.0.4.15.790 RELIEF
☆数値の型変換 int型の変数に 実数値を代入すると実数値は整数値に変換されます
☆数値の型変換 int型の変数に 実数値を代入すると実数値は整数値に変換されます
☆数値の型変換 int型の変数に 実数値を代入すると実数値は整数値に変換されます☆
カールトン 「これなんだ。ソーラー。」
カールトンがパソコン画面を指さす。
ソーラー 「どうされたんですかっと。」
カールトン 「うちの銀行の預金客の通帳に利息をつけよう
としたんだが・・・」
ソーラー 「どれどれ?」
パソコン画面を覗き込むソーラー
そこには
#include <stdio.h>
int main(void)
{
int a;
a=1.05;
printf("あなたの預金額はただいま%d円です。\n",10000*a);
return 0;
}
と
プログラムが表示されている。
ソーラー 「このプログラムは・・・」
カールトンがにやっとわらう。
カールトン 「これはうちの銀行の預金客の口座情報さ。」
ソーラー「わっこれは貴重なものをみせてもらいました。」
カールトン 「この客は今10000円ほど うちの銀行に預金している。
printf("あなたの預金額はただいま%d円です。\n",10000*a);の中の
10000がそれにあたる。そして今日はめでたく利息の満期日なので
int a,
a=1.05;
とaのint型の変数宣言、初期化し
このお客の現金10000円に5%の利益をつけようとしたわけだ。」
ソーラー 「なーるほど。10000*aのaにa=1.05;
と1.05を代入し5%の利益をつけようとしているわけだ。
そうしてあなたの預金額はただいま10500円です。
を表示したいというわけなんですね。
いいんじゃないですか。式はまちがってないと思いますよ。」
カールトン 「ところがだ、
このプログラムの実行結果(EAZY IDECの場合)は
あなたの預金額はただいま10000円です。となる。
プログラムの実行結果(Visual Studioの場合)は
C4244 '=': 'double' から 'int' への変換です。データが失われる可能性があります。 Project6 c:\users\solarplexuss\source\repos\project6\project6\source.cpp 6
とエラー文が表示されますが
プログラムを実行すると
あなたの預金額はただいま10000円です。となる。
何回、プログラムを実行しても
あなたの預金額はただいま10000円です。
この結果なんだ。
どうかな原因、わかりそうか?」
ソーラー「よーし、じゃんじゃん、ばりばり、やっちゃうぞー。」
カールトン 「がはは、その意気だ、たのんだぞ。」
ソーラーの肩をばんばんたたいて銀行業務にもどっていくカールトン。」
ソーラー 「ふん、ふーん、今日は調子がいいんだなー。
ちらっと
さきほどの白い貴婦人のことが思い出される。
真っ白い、白い刺繍のドレスの彼女・・・ああっ 美しい。
うふ、ああ~ん、は、恥ずかしい。みもだえしちゃうな。
さあ元気がでてきたぞ。やるか。
まず、
#include <stdio.h>
int main(void)
{
int a,
a=1.05;
printf("あなたの預金額はただいま%d円です。\n",10000*a);
return 0;
}
このプログラムのこの部分
ここ、ここ、これこれナンデスヨ~~
もっていたかんかん帽をくるくると人差し指でまわす。
ずばり
int a,
a=1.05;
この部分だね(^^)
秘密があるのは・・・
int aのintは変数aが整数値をとるときの
整数値を格納する変数専用のいれものだったよね。
そこに
a=1.05;と
int型の変数aに
1.05という
実数を代入してしまったので
本来はdouble型におさめられる実数1.05が
(🌞
int a,
a=1.05;
を実行するとき
まず
この1.05はdouble型の形式でメモリに格納されます
その後
int型の変数aに格納されていくことになります🌞)
整数の型intに収まるよう
実数値1.05から
🍓数値の型変換されて🍓
整数値1に変換されています。
小数点以下の0.05が切り捨てられたわけだね。
その結果
10000*a=10000*1となり
printf("あなたの預金額はただいま%d円です。\n",10000*a);
のなかの
10000*a=10000となるんだよね。
だから
あなたの預金額はただいま10000円です。
と最終的にprintf出力表示されているのです。
簡単だね」
🌞 🌞 🌞
このように
int a;
と変数宣言された変数aに
実数値を代入すると
その実数値は
整数値に変換されます
int型の変数aに
1.3456
を代入すると
1に
int型の変数aに
555.55555
を代入すると
555となります。
この際
小数点以下の項は切り捨てられます
555.55555が四捨五入されて
556となるということはありません。
このように
int a;と変数宣言された変数aに
実数値を代入すると
整数値に変換されることを
数値の型変換といいます。
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます