float

名称

float

説明

floatは、小数点以下の数値を表すことのできる、浮動小数点型である。浮動小数点は、整数よりも分解能が高いので、アナログ値や連続した値の近似に用いられる。浮動小数点型は、-3.4028235E+38から3.4028235E+38からまでを表すことができ、4バイト(32ビット)を占める。

書式

float var = val;

引数

var変数名。
val変数に代入する値。

使用例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
float myfloat;
float sensorCalbrate = 1.117;

int x;
int y;
float z;

x = 1;
y = x / 2;          // y now contains 0, ints can't hold fractions
z = (float)x / 2.0; // z now contains .5 (you have to use 2.0, not 2)

注意

浮動小数点演算を行う場合は、小数点を記述すること。そうしない場合、intとして取り扱われてしまう。浮動小数点数を参照。

floatは6から7桁の精度しか持たない。これは、小数点以下ではなく、数値全体の精度である。他のプラットフォームでは、doubleを使うことで、より精度を高めることができる(例えば15桁まで)ことができるが、Arduinoでは、doubleはfloatと同じ大きさである。

浮動小数は正確ではないので、比較を行うと予期しない結果を生じることがある。例えば、9.0/0.3は30.0ではないかもしれない。このため、比較の際には、二つの数の絶対値の差がある範囲内に収まっているかどうかを確認する必要がある。

浮動小数から整数への変換する際は、切り捨てが発生する。

1
2
float x = 2.9; // A float type variable
int y = x;  // 2

四捨五入したい場合は、0.5を足す必要がある。

1
2
float x = 2.9;
int y = x + 0.5;  // 3

あるいは、round()を利用する。

1
2
float x = 2.9;
int y = round(x);  // 3

浮動小数演算は整数演算よりも計算速度が遅いので、タイミングが非常に重要で最高速度でループを繰り返す必要があるような場合は、利用を避ける必要がある。計算速度を上げるために、浮動小数演算を整数演算にすることに、プログラマは労を惜しまないことがよくある。

参照

オリジナルのページ

https://www.arduino.cc/reference/en/language/variables/data-types/float/

Last Revision: 2022/01/11

最終更新日

January 4, 2024

inserted by FC2 system