int16_t s;
uint32_t ui = s;
int16_t値を値に変換した結果はuint32_tコンパイラに依存しますか? そうでない場合、ルールは何ですか?
結果は明確に定義されています。非負の値は同じままで、負の値は2^32を法として減少します。しかし、のような正確なint16_tサイズのタイプuint32_tが必要な状況は非常にまれです。intとここ以外のものは実際には必要ありませんunsigned long。これらのタイプには、少なくともとと同じ数のビットがint16_tありuint32_t、ととは異なりint16_t、準拠する実装に存在する必要がありuint32_tます。本当にセクシーな新しいサイズのタイプが必要な場合は、少なくともとで携帯性を確保してください。int_least16_tuint_least32_t