ホームページ >バックエンド開発 >C++ >C では「long」は少なくとも 32 ビットであることが保証されていますか?

C では「long」は少なくとも 32 ビットであることが保証されていますか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-26 17:23:02267ブラウズ

Is

「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::min()」および「std::numeric_limits::max」 ()」は、「LONG_MIN」および「LONG_MAX」と同等になるように指定されます(18.3.1.2)。これは、「long」が型「long」の制限を表すことができることを意味します。

結論として、「long」はさまざまな実装で可変ビット表現を持つ可能性がありますが、次の理由により少なくとも 32 ビットであることが保証されます。その最小値と最大値の要件。これは、C によって継承された C の制限と、「std::numeric_limits」がそれらの制限を処理する方法によって決まります。

以上がC では「long」は少なくとも 32 ビットであることが保証されていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。