Flex中Number數(shù)據(jù)類型用法詳解
你對Flex數(shù)據(jù)類型中Number數(shù)據(jù)類型的用法是否了解,這里和大家分享一下,為了盡可能提高性能,應(yīng)將Number數(shù)據(jù)類型僅用于浮點數(shù),或者用于int和uint類型可以存儲的、大于32位的整數(shù)值。
Flex數(shù)據(jù)類型
數(shù)據(jù)類型說明
基元數(shù)據(jù)類型包括Boolean、int、Null、Number、String、uint和void。ActionScript核心類還定義下列復(fù)雜數(shù)據(jù)類型:Object、Array、Date、Error、Function、RegExp、XML和XMLList。下面看一下Number數(shù)據(jù)類型的概念。
Number數(shù)據(jù)類型
在ActionScript3.0中,Number數(shù)據(jù)類型可以表示整數(shù)、無符號整數(shù)和浮點數(shù)。但是,為了盡可能提高性能,應(yīng)將Number數(shù)據(jù)類型僅用于浮點數(shù),或者用于int和uint類型可以存儲的、大于32位的整數(shù)值。要存儲浮點數(shù),數(shù)字中應(yīng)包括一個小數(shù)點。如果您省略了小數(shù)點,數(shù)字將存儲為整數(shù)。
◆Number數(shù)據(jù)類型使用由IEEE二進(jìn)制浮點算術(shù)標(biāo)準(zhǔn)(IEEE-754)指定的64位雙精度格式。此標(biāo)準(zhǔn)規(guī)定如何使用64個可用位來存儲浮點數(shù)。其中的1位用來指定數(shù)字是正數(shù)還是負(fù)數(shù)。11位用于指數(shù),它以二進(jìn)制的形式存儲。其余的52位用于存儲"有效位數(shù)"(又稱為"尾數(shù)"),有效位數(shù)是2的N次冪,N即前面所提到的指數(shù)。
可以將Number數(shù)據(jù)類型的所有位都用于有效位數(shù),也可以將Number數(shù)據(jù)類型的某些位用于存儲指數(shù),后者可存儲的浮點數(shù)比前者大得多。例如,如果Number數(shù)據(jù)類型使用全部64位來存儲有效位數(shù),則它可以存儲的***數(shù)字為265-1。如果使用其中的11位來存儲指數(shù),則Number數(shù)據(jù)類型可以存儲的***有效數(shù)字為21023。
◆Number類型可以表示的最小值和***值存儲在Number類的名為Number.MAX_VALUE和Number.MIN_VALUE的靜態(tài)屬性中。
Number.MAX_VALUE==1.79769313486231e+308Number.MIN_VALUE==4.940656458412467e-324盡管這個數(shù)字范圍很大,但代價是此范圍的精度有所降低。Number數(shù)據(jù)類型使用52位來存儲有效位數(shù),因此,那些要求用52位以上的位數(shù)才能精確表示的數(shù)字(如分?jǐn)?shù)1/3)將只是近似值。如果應(yīng)用程序要求小數(shù)達(dá)到絕對精度,則需要使用實現(xiàn)小數(shù)浮點算術(shù)(而非二進(jìn)制浮點算術(shù))的軟件。
如果用Number數(shù)據(jù)類型來存儲整數(shù)值,則僅使用52位有效位數(shù)。Number數(shù)據(jù)類型使用52位和一個特殊的隱藏位來表示介于-9,007,199,254,740,992(-253)和9,007,199,254,740,992(253)之間的整數(shù)。
FlashPlayer不但將NaN值用作Number類型的變量的默認(rèn)值,而且還將其用作應(yīng)返回數(shù)字、卻沒有返回數(shù)字的任何運(yùn)算的結(jié)果。例如,如果您嘗試計算負(fù)數(shù)的平方根,結(jié)果將是NaN。其它特殊的Number值包括"正無窮大"和"負(fù)無窮大"。
注意
在被0除時,如果被除數(shù)也是0,則結(jié)果只有一個,那就是NaN。在被0除時,如果被除數(shù)是正數(shù),則結(jié)果為正無窮大;如果被除數(shù)是負(fù)數(shù),則結(jié)果為負(fù)無窮大。
【編輯推薦】