「long」は少なくとも 32 ビットであることが保証されていますか?
C 標準では基本積分のサイズの階層的進行が規定されていますが、型 (「long int」が最大) ですが、「long」の特定のビット幅を明示的に義務付けるわけではありません。ただし、「long」が少なくとも 32 ビットであることを保証する重要な決定要因があります。
C 標準は、「LONG_MIN」と「LONG_MAX」に対する C の制限 (18.3.2) を継承しており、これらは -( として定義されています)それぞれ 2^31 - 1) と (2^31 - 1)。これは、「long」がこの範囲の値を格納できる必要があることを意味します。
さらに、「std::numeric_limits
結論として、「long」はさまざまな実装で可変ビット表現を持つ可能性がありますが、次の理由により少なくとも 32 ビットであることが保証されます。その最小値と最大値の要件。これは、C によって継承された C の制限と、「std::numeric_limits」がそれらの制限を処理する方法によって決まります。
以上がC では「long」は少なくとも 32 ビットであることが保証されていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。