32ビットおよび64ビットOSでのダブルバイトサイズ
-
12-09-2019 - |
質問
私が実行したときにダブルのサイズの違いがあります32ビットおよび64ビット環境での私のアプリ?
私は間違っていないです場合は64ビットで二重のは、私は右だ、32ビットを取り上げる一方で?この32ビット環境での二重のは、0の後に16桁の数字を取り上げます
解決
いいえ、 IEEE 754倍精度浮動小数点数には常に64ビットです。同様に、単精度float
は常に32ビットである。
あなたの質問は約C#および/または(具体的にあなたのタグが示すように).NETの場合、のすべてののデータ型のサイズのは、あなたのシステムアーキテクチャとは無関係に、固定されています。これは、Javaと同じですが、型のサイズはプラットフォームによって異なり行うCとC ++とは異なります。
整数型は、CおよびC ++での異なるアーキテクチャ上の異なるサイズを持っているため、これは一般的です。例えば、int
は、16ビットのDOSとWin32で32ビット幅で16ビット幅でした。 20年前float
は64ビットだった - しかし、IEEE 754規格はdouble
とdouble
のサイズはのないのあなたは現実の世界であります任意のシステムで異なりますことを浮動小数点演算のためにそうユビキタスですそしてそれが今日である。
他のヒント
C#の二重には、常に8バイト(64ビット)
これは変更されません。
これをチェックする簡単な方法は、
を持つ単純なコンソールアプリケーションを書いていますConsole.WriteLine(Double.MaxValue);
とx86とx64の両方にコンパイルします。
所属していません StackOverflow