数値の型変換 int型の変数aに実数値1.23456を代入すると整数値の部分のみが変数aに格納されます

てんC「😊次のプログラムをご覧ください。」


#include <iostream>


using namespace std;


int main() {


int a=1.23456;


cout << a<< "\n";


return 0;

}


てんC「このプログラムでは


ビルド結果


C4244 '初期化中': 'double' から 'int' への変換です。データが失われる可能性があります。


が表示されますが


ちゃんとプログラムを実行でき


コンパイル結果


1


が表示されます


このように


整数値を格納することのできる


int型の変数aに


実数値1.23456を代入すると


小数点以下の部分である


0.23456


は切り捨てられて


整数値の部分である1のみが


変数aに格納されます。」


マックス「int型の変数には整数値しか格納できないのか」


てんC「そうなのです


そして


今とは逆に


float型の変数bに


整数値123456を代入すると


整数値123456は実数値に変換されて


変数bに格納されます。


次のプログラムをご覧ください



#include <iostream>


using namespace std;


int main() {


float b=123456;


cout << b<< "\n";


return 0;

}


コンパイル結果


123456




マックス「123456が表示されている・・・


しかし


この123456は


実数値を格納するfloat型の形式で格納されているのか・・・」


てんC「はい そうなのです


float型の変数bに格納された整数値123456は


float型の形式で


         実数値として


格納されることになります。


そして


cout << b<< "\n";



実行されると


コマンドプロンプト画面に


123456



表示されます」


マックス


「C言語の場合では


float型の変数bに


整数値123456を代入すると


下のプログラムのように


#include <stdio.h>


int main(void) {


float b=123456;


printf("%f\n",b);


return 0;

}


コンパイル結果


123456.000000



実数値123456.000000


が表示されたんだがな。


C++言語では


小数点以下の000000は表示されないってわけだ


優秀だな😊」


てんC「このように格納する変数の型に合わせて


実数値が整数値として格納されたり


整数値が実数値として格納されたりすることを


数値の型変換といいます」





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

作者を応援しよう!

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

応援したユーザー

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

新規登録で充実の読書を

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

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

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