seclan のほえほえルーム

| |

・プログラミング言語 C の新機能 Part XXX: printf: 書式文字列で %lf を許容 (1999/11/15 [])
 浮動小数点数を printf ファミリで出力する時には、f,e,g,E,G のどれかを使うと、float 型か double 型の値を出力することができました。ただし、float 型は printf の引数に渡される時点で double 型に拡張されてしまうので、実質は double 型の値を出力する時に指定する変換文字となります。そして、もう一つの浮動小数点数の型 long double 型を指定する時には、Lf,Le,Lg,LE,LG のように大文字の L を前に付けて表現していました。
 しかし規格をよく知らない人は、例えば、変換文字に f を使用することを考えると、float 型は f を、double 型はもっと大きいから lf を、long double 型は Lf を使っていることがよくありました。lf という書式文字列は規格では定義されていないので使うべきではないのですが、比較的多くの実装でこの表記が容認されてきました。
 今度の C 言語は、このような状況をふまえ、lf の書式文字列を容認することになりました。これで、今まで規格外の書き方をしてきた人は救われましたね (^^)


by seclan


| |

 

配信

5.32 msec