Pergunta

Existe uma diferença na tamanho dupla quando eu corro meu aplicativo no ambiente de 32 e 64 bits?

Se não me engano o ambiente duplo em 32 bits terá até 16 dígitos após 0, enquanto que o dobro em 64 bits vai ocupar 32 bit, estou certo?

Foi útil?

Solução

Não, um IEEE 754 de dupla precisão número de ponto flutuante é sempre 64 bits. Da mesma forma, um float precisão simples é sempre 32 bits.

Se a sua pergunta é sobre C # e / ou .NET especificamente (como seu tag indicaria), todas dos tamanhos de tipo de dados são fixos, independente de sua arquitetura de sistema. Este é o mesmo que Java, mas diferente de C e C ++, onde tipo tamanhos variam de plataforma para plataforma.

É comum para os tipos integrais para ter tamanhos diferentes em diferentes arquiteturas em C e C ++. Por exemplo, int foi de 16 bits de largura de 16 bits DOS e 32 bits de largura no Win32. No entanto, o padrão IEEE 754 é tão onipresente em ponto flutuante computação que os tamanhos de float e double fazer não variar em qualquer sistema que você vai encontrar no mundo real - há 20 anos double era 64 bits e assim é hoje.

Outras dicas

c # dupla é sempre 8 bytes (64 bits)

Isso não muda.

Uma maneira simples de verificar isso é escrever um aplicativo de console simples com

Console.WriteLine(Double.MaxValue);

e compilação para x86 e x64.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top