-1

整数型の最小幅要件を述べた C++ 標準のセクションを読んだことを漠然と覚えています。これはもう見つかりません。私が見つけることができる最も近いものは<limits.h>、C標準の記述です。

整数型の最小幅はどこにありますか?

4

1 に答える 1

2

標準で定義されている最小範囲要件は次のとおりです (3.9.1 - 基本型):

文字 (char) として宣言されたオブジェクトは、実装の基本文字セットのメンバーを格納するのに十分な大きさでなければなりません。

標準の符号付き整数型には、「signed char」、「short int」、「int」、「long int」、および「long long int」の 5 つがあります。このリストでは、各タイプは、少なくともリスト内の前のタイプと同じ量のストレージを提供します。 実装定義の拡張符号付き整数型もある場合があります。標準および拡張の符号付き整数型は、まとめて符号付き整数型と呼ばれます。プレーンな int は、実行環境44のアーキテクチャによって提案される自然なサイズを持ちます。その他の符号付き整数型は、特別なニーズを満たすために提供されています。

このページの脚注 44 には次のように書かれています。

44) つまり、ヘッダーで定義されているように、INT_MIN と INT_MAX の範囲内の任意の値を格納するのに十分な大きさ<climits>です。

そして、5.2.4.2.1 の C 標準は次のように述べています。

// minimum value for an object of type int
INT_MIN -32767 // −(215 − 1)
// — maximum value for an object of type int
INT_MAX +32767 // 215 − 1
于 2013-09-16T16:52:44.343 に答える