32ビット環境と64ビット環境でアプリを実行すると、 double sizeに違いはありますか?
32ビット環境のdoubleが0の後に16桁を占めるのに対して、64ビットのdoubleは32ビットを占めると間違えない場合、正しいですか?
いいえ、 IEEE 754倍精度浮動小数点数 は常に64ビットです。同様に、単精度float
は常に32ビットです。
質問が(タグが示すように)C#や.NET(またはその両方)に関するものである場合、データ型サイズのallは、システムアーキテクチャー。これはJavaと同じですが、プラットフォームごとに型のサイズが異なるCやC++とは異なります。
整数型は、CおよびC++の異なるアーキテクチャで異なるサイズを持つことが一般的です。たとえば、int
は16ビットDOSでは16ビット幅で、Win32では32ビット幅でした。ただし、IEEE 754標準は、float
およびdouble
のサイズがdonot20年前のdouble
は64ビットだったので、現実の世界にあるシステムによって異なります。
C#では、doubleは常に8バイト(64ビット)です。
変わらない。
これをチェックする簡単な方法は、
Console.WriteLine(Double.MaxValue);
x86とx64の両方にコンパイルします。