O Tamanho Duplo Byte em pouco OS 32 bits e 64
-
12-09-2019 - |
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?
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.