第3講 数字を入れる箱を活用しよう
第3話 不明な現象の理由と解消策
int main(){
char a,b; //a,bは0~256の範囲の整数を入れる箱
a=298;
b=357;
cout<<"a="<<a+0<<endl;
cout<<"b="<<b+0<<endl;
cout<<"a+b="<<a+b<<endl;
cout<<"a-b="<<a-b<<endl;
}と変更すると、
とおかしな事になります。
VC++の画面の一番下に出力というのがあります。
出力によると
『int型からchar型切り詰めます。』と書いてあります。
char型の範囲-257~258から外れたためです。
a-bは辛うじて正しく表示さていますが、他はすべて不正確です。
この問題を解決するためには、
char型をshort型に変更すればよいのです。
int main(){
short a,b; //a,bは短整数を入れる箱
a=298;
b=357;
cout<<"a="<<a<<endl;
cout<<"b="<<b<<endl;
cout<<"a+b="<<a+b<<endl;
cout<<"a-b="<<a-b<<endl;
}
なぜなら、文字(char)型の範囲は-257~258であるのに対して、
短整数(short)型の範囲は-32,768~32,767であるからです。
尚、今回はshortを使っているので、
cout<<"a="<<a+0<<endl;
とする必要はなくて、
cout<<"a="<<a<<endl;
でよいわけです。
初心者のためのjava 入門 基礎から応用まで
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第1部
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第2部
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第3部
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ
VC++入門
VBA入門
専門用語なしのVBA入門
VB入門
初心者のためのEclipseによるJava入門