É garantido que o longo terá 32 bits?
Apesar das suposições comuns baseadas no padrão C, surge a questão se o longo tem garantia de ter pelo menos 32 bits. O padrão classifica os tipos integrais fundamentais como:
sizeof(char) ≤ sizeof(short int) ≤ sizeof(int) ≤ sizeof(long int)
No entanto, muitos assumem que com base nisso hierarquia, long deve ter 32 bits. No entanto, o padrão afirma explicitamente que o número de bits em um byte é definido pela implementação. Steinbach afirmou que long tem garantia de 32 bits. Ele baseou esta afirmação no limite implícito no intervalo de valores que um longo pode conter (LONG_MIN a LONG_MAX).
O Padrão C faz referência ao Padrão C (18.3.2), que define:LONG_MIN ≤ -2^31 1 LONG_MAX ≥ 2^31 - 1
Conexão com representação de 32 bitsLONG_MIN ≤ -2^31 1 LONG_MAX ≥ 2^31 - 1
Representação de complemento de dois:
Se números negativos são representados em complemento de dois, armazenar LONG_MIN ou LONG_MAX requer 32 bits.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3