タイトル通りのことがときどき話題になります。ささいなことなのですが、C言語やその派生言語でプログラミングしている方々に役に立つかも知れませんので書き留めておきます。

これについては、C言語の標準規格で明確に定義されています。JIS X3010:2003の「6.2.5 型」には、

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

とあります。したがって、「算術型」が正解です。さらにその次のページには、

算術型及びポインタ型を総称して,スカラ型(scalar type)と呼ぶ。

という記述もあります。

せっかくなので、もう少し深掘りしてみましょう。

同じく「6.2.5 型」には

型char,符号付き整数型,符号無し整数型及び浮動小数点型を総称して基本型(basic type)と呼ぶ。

とあります。ここで「基本型」は「整数型」と「浮動小数点型」の総称ではないことに注意しないといけません。では「整数型」とは何でしょう?

型char,符号付き整数型,符号無し整数型,及び列挙型を総称して整数型(integer type)と呼ぶ。

つまり、整数型のうち列挙型は基本型でないということになります。

そのすぐあとに興味深い記述があります。

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

「実数型」というと浮動小数点型のことだと考えている方も多いと思いますが、どうやらそれは間違いのようです。ここに出てくる「浮動小数点型」というのも気になりますね。

実浮動小数点型(real floating type)は,float,double及びlong double(32)の3種類とする。

これが「実浮動小数点型」の定義です。「浮動小数点型」と何が違うかというと、

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

つまり、C言語での

なお、C++では複素数はクラステンプレートで扱いますし、C99より以前のC言語には複素数型がなかったので、「実浮動小数点型」という用語はなく「浮動小数点型」といえば必ず実数を表します(「NaN」を表現できるということはありますが)。

こうした、一段階抽象度の高い呼称というのは、知っていると結構便利です。それなりに経験の長い技術者でも意外に知らないことが多いようですので、説明している書籍やサイトが少ないのかもしれません。