[迷信] 実数型とは浮動小数点型のことである

C/C++の入門書や入門サイトの多くは、float型やdouble型などの浮動小数点型を、整数ではなく「実数」を表現するための型として紹介しています。そして、これら浮動小数点型のことを「実数型」と呼んでいることも少なくありません。しかし、C言語の標準規格であるJIS X3010:2003では、実数型はまったく別の定義がされています。

まずは実際の規格(JIS X3010:2003 6.2.5 型)から引用してみることにします。

整数型及び実浮動小数点型を総称して実数型(real type)と呼ぶ。

これだけの説明では分かりにくいと思いますので、同じ節から別の定義を引用してみることにします。

実浮動小数点型及び複素数型を総称して浮動小数点型(floating type)と呼ぶ。

これで大体事情が見えてきたと思います。つまりC言語では、虚数を表現するための複素数型に対して、実数しか表現できない算術型のサブセットを「実数型」と呼んでいるのです。そのため、実数型には当然整数型(char型、_Bool型、列挙型を含む)も含まれます。

一方、C++の標準規格では実数型の定義がありません。C++の組み込み型には複素数型がないという事情もあるからでしょう(C++では、複素数はクラステンプレートを用いて表現します)。しかし、だからといって、わざわざ浮動小数点型のことを実数型と呼ぶような紛らわしいことをする必要はないはずです。

この記事のトラックバックURL:

http://www.kijineko.co.jp/trackback/485