整数と小数の計算

C言語で整数と小数の混じる計算を行う場合、結果の変数型は以下のようになります。

  • 整数と整数の計算は整数型
  • 整数と小数の計算は小数型
  • 小数と小数の計算は小数型

ここで、整数と整数の計算が整数型になることに注意しましょう。

例えば、整数と整数の割り算は小数点以下が切り捨てられた整数になります。

以下の計算では、3行目が他の2つとは少し違う結果を出力します。これは、65536/20が割り切れず、小数点以下が四捨五入されるためです。

  Serial.println((int)(1.5/20*65536));
  Serial.println((int)((1.5/20)*65536));
  Serial.println((int)(1.5*(65536/20)));Code language: Arduino (arduino)

1行目と2行目は同じ結果を出力します。計算順を特に明確にする必要のある場合は、2行目のようにすると良いでしょう。