Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Double é maior que decimal?

Boa tarde, estou com uma dúvida. No exercício de pontos flutuantes, tem uma questão no qual preciso escolher 4 alternativas corretas, mas só encontrei três corretas, pois a outra alternativa que estava como correta era:

"O tipo double cobre uma faixa de valores maior do que float e decimal" e sua explicação: "Isso mesmo. O tipo double tem a maior faixa de cobertura entre os tipos de valor do .NET."

Ao longo do curso, tinha entendido que o decimal tem uma faixa de cobertura maior entre os valores do .NET, pois Float - 32 bit (7 dígitos) Double - 64 bit (15-16 dígitos) Decimal - 128 bit (28-29 dígitos significativos)

fonte: http://net-informations.com/q/faq/float.html

2 respostas
solução

Oi Ricardo, tudo bem?

Boa pergunta! O número de bits de Decimal é maior que o de Double, porém os bits são usados com propósitos diferentes. Por exemplo, o Double é um tipo de ponto flutuante binário (armazena potências de 2) e é usado para expressar faixas de grandezas astronômicas ou microscópicas além da capacidade do Decimal.

O Decimal é um tipo de ponto flutuante decimal (armazena potências de 10) e é muito mais preciso que o Double. Por causa dessa precisão, o Decimal é ideal para representar valores monetários (jamais use Double, Single ou Float para representar dinheiro).

//double.MaxValue:  
1.79769313486232E+308          <= suporta um número 
inteiro com 308 dígitos, com precisão de 15 a 17 dígitos

//decimal.MaxValue: 
79228162514264337593543950335  <= suporta um número
 inteiro com 29 dígitos, com precisão de 28 a 29 dígitos

Bom dia Marcelo, Muito obrigado pela ótima explicação!