F is for float

C言語歴13年にして恥ずかしながら知らなかった文法。
小数点リテラルの末尾に f をつけたら float型とみなされる。
なにもつけないかdをつけたら double型とみなされる。
うおー知らんかった! (パソコンではfloat型なんて使わんし。)


マイコンのプログラムでdouble型を使ってたんだけど精度はfloat型で十分なのでリソース節約のためにfloat型に変えたらコードサイズが1kバイトも余計に増えた。あれれ?と思って調べてみると、リテラルがdouble型と解釈されたためにdouble型⇔float型の換算なんかをしていた模様。小数点リテラルの末尾にfをつけたらめでたく元のコードサイズより1kバイトほど減量に成功。