小数点の処理


戻る

やること

  • 四則演算の順序・小数点の処理を理解する
  • 値キャストの概念を理解する

演算の順番


#include "iostream"
using namespace std;
int main(){
  cout << 2*(3+1) << endl;//()で括るとその部分は先に処理される。出力される数字は8。
  cout << 3+1*2 << endl;//掛け算は先に処理される。出力される数字は5。
}

小数点の処理


#include "iostream"
using namespace std;
int main(){
   int a = 5,b = 2;
   cout << a/b << endl;//割り算はどちらかが整数型だと答えは切り捨てされて整数となる。出力される数字は2。
   double c = 6,d = 4;
   cout << c/d << endl;//どちらも小数型だと答えは小数となる。出力される数字は1.5。
   a = c/d;//整数型に小数型を代入すると値は切り捨てられて整数となる。aには1が入る。
   cout << 3/2 << endl;//小数点まで数字が書かれていない場合は整数型として扱われる。出力される数字は1。
   cout << 3.0/2.0 << endl;//小数点まで数字を書くと小数型として扱われる。出力される数字は1.5。
}

型キャスト


#include "iostream"
using namespace std;
int main(){
   int a = 5,b = 2;
   cout << (double)a/(double)b << endl;//()で括って型を指定するとその型として扱われる。
   //この場合aとbは小数型として扱われる。出力される数字は2.5。
  string c = to_string(a);//string型にはto_string()を使って変換する。
  cout << c << endl;//"5"が出力される。
  b = stoi(c);//int型にはstoi()を使って変換する。long long型にはstoll()を使って変換する。
  cout << b << endl;//5が出力される。
  cout << (string)b << endl;//このように変換することはできず、エラーとなる。
}

戻る