web-dev-qa-db-ja.com

32ビットおよび64ビットOSのダブルバイトサイズ

32ビット環境と64ビット環境でアプリを実行すると、 double sizeに違いはありますか?

32ビット環境のdoubleが0の後に16桁を占めるのに対して、64ビットのdoubleは32ビットを占めると間違えない場合、正しいですか?

33
Graviton

いいえ、 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ビットだったので、現実の世界にあるシステムによって異なります。

64
John Kugelman

C#では、doubleは常に8バイト(64ビット)です。

10
Learner

変わらない。

これをチェックする簡単な方法は、

Console.WriteLine(Double.MaxValue);

x86とx64の両方にコンパイルします。

8
statenjason