java數(shù)據(jù)類型精度由高到低 Java中單精度和雙精度浮點有什么區(qū)別?
Java中單精度和雙精度浮點有什么區(qū)別?單精度有1個符號,8個指數(shù)和23個小數(shù)位。雙精度是1號,11指數(shù),52十進制。單精度十進制在計算機中只有23位(二進制),轉(zhuǎn)換成十進制只能保證6位十進制數(shù)字的精
Java中單精度和雙精度浮點有什么區(qū)別?
單精度有1個符號,8個指數(shù)和23個小數(shù)位。
雙精度是1號,11指數(shù),52十進制。
單精度十進制在計算機中只有23位(二進制),轉(zhuǎn)換成十進制只能保證6位十進制數(shù)字的精度。超過此精度的十進制運算(二進制23,十進制6)將被截取,導致精度損失和計算結果不準確。
同樣,雙精度,十進制是52(二進制),轉(zhuǎn)換成十進制只能保證15。
單精度和雙精度是什么意思?
單精度:單精度數(shù)字是計算機表示實數(shù)近似值的一種方法。在VB中,單個變量以ieee32位(4字節(jié))浮點值的形式存儲。當數(shù)字為負時,其范圍為-3.402823e38到-1.401298e-45;當數(shù)字為正時,其范圍為1.401298e-45到3.402823e38。雙精度:雙精度浮點數(shù)(Double)是計算機使用的數(shù)據(jù)類型,使用64位(8字節(jié))存儲浮點數(shù)。它可以表示十進制的15位或16位有效數(shù)字,所能表示的數(shù)字的絕對值范圍約為:4.9x10-324~1.7x10308。IEEE754是它的定制標準。在32位機器上,單精度(即浮點)存儲在4字節(jié)中,而雙精度存儲在8字節(jié)中,這是它們之間最本質(zhì)的區(qū)別。由于不同的內(nèi)存位,它們可以表示的值的范圍是不同的,即它們可以準確表示的位數(shù)是不同的。