Il byte doppio Dimensione in 32 bit e 64 bit OS
-
12-09-2019 - |
Domanda
C'è una differenza nel matrimoniale quando corro la mia app su 32 e 64 bit di ambiente?
Se non sbaglio il doppio in un ambiente a 32 bit assumerà le 16 cifre dopo 0, mentre il doppio in 64 bit assumerà 32 bit, ho ragione?
Soluzione
n, un IEEE 754 a precisione doppia virgola mobile numero è sempre di 64 bit. Analogamente, un float
singola precisione è sempre di 32 bit.
Se la domanda riguarda C # e / o .net specifico (come il tag indicherebbe), tutti delle dimensioni dei tipi di dati sono fissi, indipendentemente l'architettura del sistema. Questa è la stessa di Java, ma diversa da C e C ++ dove tipo dimensioni variano da una piattaforma all'altra.
E 'comune per i tipi integrali abbiano dimensioni diverse su diverse architetture in C e C ++. Ad esempio, int
era a 16 bit a 16 bit e 32 bit DOS ampia in Win32. Tuttavia, lo standard IEEE 754 è così onnipresente per virgola mobile calcolo che le dimensioni di float
e double
fanno non variare su tutto il sistema si trova nel mondo reale - 20 anni fa era double
64 bit e così lo è oggi.
Altri suggerimenti
c # double è sempre 8 byte (64 bit)
Non cambia.
Un modo semplice per verificare la presenza di questo sta scrivendo una semplice applicazione console con
Console.WriteLine(Double.MaxValue);
e la compilazione sia x86 e x64.