Gama de tipos numéricos em c ++

Video: Dicas para aprender C++ e quanto de dinheiro precisa levar para se virar para nos EUA

Pode parecer estranho, mas padrão do C ++ não diz exatamente como um grande número de cada um dos tipos de dados podem acomodar. O padrão de fala apenas para o tamanho relativo de cada tipo de dados. Por exemplo, ele diz que o máximo long int é pelo menos tão grande como a máxima int.

Video: [Linguagem C] Tipos de dados, variáveis e função printf - Aula 02

Os autores do C ++ não estavam tentando ser misterioso. Eles simplesmente queriam permitir que o compilador para implementar o código mais rápido absoluta possível para a máquina base. O padrão foi projetado para funcionar para todos os diferentes tipos de processadores que executam sistemas operacionais diferentes.



No entanto, é útil saber os limites para a sua implementação em particular. A tabela mostra o tamanho de cada tipo de número em um PC com Windows usando o / compilador gcc Code :: Blocks.

Gama de tipos numéricos no bloco de código :: / gcc
VariávelTamanho (bytes)PrecisãoAlcance
curto2exato-32768-32767
int4exato2147483648 a 2.147.483.647
longo4exato-2147483648 a 2.147.483.647
int long long8exato-9.223.372.036.854.775.808 para 9.223.372.036.854.775.807
flutuador47 dígitos± 3.4028 x 10 ±38
longo816 dígitos± 1.7977 x 10 ±308
long double1219 dígitos± 1.1897 x 10 ±4932

Video: Conversão Entre Tipos de Dados em Linguagem C

A tentativa de calcular um número que está para além do alcance do seu tipo é conhecido como um transbordar. O padrão C ++ geralmente deixa os resultados de um excesso como indeterminado. Essa é outra forma que os definidores de C ++ permaneceu flexível.

No PC, um ponto flutuante estouro resulta em uma exceção, que se não for tratada fará com que seu programa deixe de funcionar. Tão ruim quanto isso soa, um estouro de inteiro é pior - C ++ silenciosamente gera um valor incorreto sem reclamar.


Publicações relacionadas