2011-04-19 28 views
2

可能重複:
What is the difference between Decimal, Float and Double in C#?什麼是雙重? (C#)

今天我在.net想知道Double。我在過去幾天使用Int32,並開始想知道最大價值是多少。

Double.MaxValue的MSDN頁面顯示1.7976931348623157E+308。我很確定我正在讀那個錯。

Double佔用了多少字節(在內存中)?
實際最大值是多少(解釋E + 308)?
是Double.MaxValue大於UInt32?大於UInt64
雖然我們在這裏,FloatDouble有什麼區別?

+0

爲了獲得關於如何編寫數字的理解,請點擊此處:http://en.wikipedia.org/wiki/Scientific_notation#E_notation – 2011-04-19 09:23:45

+0

感謝大家努力回答。對於投票重複的每個人來說 - 許多SO用戶像往常一樣淺。請在投票前充分閱讀問題。 :/ – 2011-04-19 10:02:53

回答

0

基本上,

雙人是64位浮點值和浮子是一個32位。 所以double可以存儲兩倍大的浮動值。

http://msdn.microsoft.com/en-us/library/678hzkk9(v=vs.80).aspx http://msdn.microsoft.com/en-us/library/b1e65aza(v=vs.71).aspx

只要閱讀上的鏈接上線,你會得到一個理念。

+0

兩倍大按位是.. – 2011-04-19 09:30:32

0

關於E+308:雖然2^64遠遠小於1e+308,你必須考慮double不是「精確」號,它只有幾個顯著位數(精度),因此它並不需要存儲所有〜308的數字。利用double結構背後的邏輯,它可以包含最多爲64位的e+308的數字。