6

私は見守っていますが、それが不可欠なタイプとは見なされていないtype_traitsという事実に偶然出くわしました。floatちょっと驚きました。

ウェブを調べて適切な情報を見つけましたが、その事実については何も見つかりませんでした。私が見つけることができたのはこのようなものだけです:

Tが整数型(bool、char、char16_t、char32_t、wchar_t、short、int、long、long long、符号付き、符号なし、およびcv修飾のバリアントを含む)の場合、trueに等しいメンバー定数値を提供します。その他のタイプの場合、値はfalseです。

それで、ここでの質問:なぜC ++標準委員会はfloatが整数型ではないと決定したのですか?

4

4 に答える 4

12

整数型とは、整数(整数)のみを持つ型です。浮動小数点型の目的は、非整数も表すことです。

整数(コンピュータサイエンス)に関するウィキペディアのページから:

コンピュータサイエンスでは、整数は整数データ型のデータであり、数学整数の有限のサブセットを表すデータ型です。

于 2013-03-02T08:04:21.040 に答える
5

あなたの混乱は、積分のどの意味が当てはまるかということだと思います。

INTEGRALの定義

1 a:完全性に不可欠:構成要素「カリキュラムの不可欠な部分」

b(1):1つ以上の数学的整数である、含む、または関連する(2):数学的統合または数学的統合の結果に関連する、または関係する

それは(1a)完全性に不可欠ではありません(floatそうなるでしょう)が、(1b)整数に関連しています。

于 2013-03-02T08:07:53.410 に答える
4

ジョンの答えは正しいですが、ここにあなたを助けるかもしれないいくつかの タイプの特徴の簡単な概要があります:

  • is_integralタイプが整数タイプかどうかをチェックします
  • is_floating_pointタイプが浮動小数点タイプであるかどうかをチェックします
  • is_arithmeticタイプが整数タイプか浮動小数点タイプかをチェックします

そして、これはタイプカテゴリ間の関係を示すハワードヒナントからの素晴らしいグラフです。

于 2013-03-02T08:47:34.463 に答える
-1

整数型または文字をC++で格納する一方で、整数形式(つまり、ASCII形式の文字でも)で格納するため、これらは整数型です。ただし、浮動小数点数をバイナリ形式に変換する方法がないため、浮動小数点数は格納されません。

于 2020-04-07T17:08:21.370 に答える