第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から外れたためです。
c++
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;
}

C

なぜなら、文字(char)型の範囲は-257~258であるのに対して、
短整数(short)型の範囲は-32,768~32,767であるからです。

尚、今回はshortを使っているので、
  cout<<"a="<<a+0<<endl;
とする必要はなくて、
  cout<<"a="<<a<<endl;
でよいわけです。




第2話へ 第4話へ

a

初心者のためのjava 入門 基礎から応用まで
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第1部
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第2部
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第3部
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ
VC++入門
VBA入門
専門用語なしのVBA入門
VB入門
初心者のためのEclipseによるJava入門