最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

150天打卡day03_基本數(shù)據(jù)類型浮點(diǎn)型

2021-02-23 15:00 作者:關(guān)阿姨的Java日記  | 我要投稿

浮點(diǎn)數(shù)類型

Java中利用浮點(diǎn)數(shù)來存儲(chǔ)“小數(shù)”,有兩種數(shù)據(jù)類型float和double,float是單精度浮點(diǎn)數(shù),double叫做雙精度浮點(diǎn)數(shù),什么為精度呢?精度其實(shí)就是指所存儲(chǔ)有效尾數(shù)的長度?,之所以叫做浮點(diǎn)數(shù),而不是叫做小數(shù)是因?yàn)樵诖鎯?chǔ)小數(shù)的時(shí)候需要將小數(shù)點(diǎn)的位置進(jìn)行移動(dòng)(浮動(dòng)),所以稱之為是浮點(diǎn)數(shù),說白了本質(zhì)就是在數(shù)學(xué)課中的科學(xué)計(jì)數(shù)法,可以計(jì)算非常大的數(shù)值.

IEEE-754: 是"電氣電子工程師學(xué)會(huì)(IEEE)"定義的754號(hào)標(biāo)準(zhǔn)。是被各種編程語言廣泛采用的浮點(diǎn)數(shù)標(biāo)準(zhǔn)。

float類型

float:單精度浮點(diǎn)類型 占用32位內(nèi)存空間

float單倍精度浮點(diǎn)數(shù),采用32位2進(jìn)制存儲(chǔ)的浮點(diǎn)數(shù),其中1位表示正負(fù)的符號(hào)位,8位存儲(chǔ)指數(shù), 23位存儲(chǔ)尾數(shù)。由于浮點(diǎn)數(shù)中分別保存了數(shù)字的尾數(shù)和指數(shù),當(dāng)指數(shù)大時(shí)候,其范圍就會(huì)變得非常大,所以采用浮點(diǎn)數(shù)的好處是可以存儲(chǔ)非大的數(shù)字,如:3.14乘以10的20次冪。

使用浮點(diǎn)數(shù)需要注意的點(diǎn):

  1. float浮點(diǎn)數(shù)的直接量有兩種寫法:

    1. 通常寫法:3.5F? 88.68F? 適合通常小數(shù)

    2. 指數(shù)形式:3.3452E100F或者 1.234E-5F

  2. 默認(rèn)的浮點(diǎn)數(shù)直接量是double類型,若要給float類型的變量賦字面量的值,則要在字面量后面加F(或f)

  3. float不能精確表示10進(jìn)制小數(shù),保存數(shù)據(jù)時(shí)候存在尾數(shù)的舍入(四舍五入)誤差

float類型共32位,1位為符號(hào)位,指數(shù)8位,尾數(shù)23位,(float的精度是23位,即能準(zhǔn)確表達(dá)23位的數(shù),超過就被截取了)

float存儲(chǔ)的數(shù)據(jù)的范圍比int類型大,但精度比int小,因?yàn)閕nt的精度是31位。

Java 也提供了BigDecimal用于實(shí)現(xiàn)超?精度小數(shù)計(jì)算。

案例:

注意:使用浮點(diǎn)數(shù)會(huì)存在舍入誤差,這是正常的情況,如果想使用精確的運(yùn)行,可以使用BigDecimal

double類型

double 是雙倍精度浮點(diǎn)數(shù),其內(nèi)部采用64位2進(jìn)制存儲(chǔ)的浮點(diǎn)數(shù),其中1位表示正負(fù)的符號(hào)位,11位存儲(chǔ)指數(shù), 52位存儲(chǔ)尾數(shù)。因?yàn)閐ouble的尾數(shù)是float尾數(shù)兩倍多,顧稱為雙倍精度浮點(diǎn)數(shù),這就是double的由來。double不僅尾數(shù)長,指數(shù)位也大,所以double的表示的范圍非常大,利用double完全可以輕松處理宇宙級(jí)別的數(shù)字。由于double范圍足夠大所以Java就不再需要更大的數(shù)據(jù)類型了。

Java 也提供了BigDecimal用于實(shí)現(xiàn)超高精度小數(shù)計(jì)算。

?

使用double要注意:

  1. 由于double表示的數(shù)據(jù)更精確,所以默認(rèn)的小數(shù)直接量是double類型,如:2.8 4.5

  2. 可以使用D/d后綴表示double類型的直接量,如:2.5D 5D

  3. double也支持指數(shù)形式賦值: doube d = 356.5E8

  4. 由于double精度高,計(jì)算更加精確,大多數(shù)場合使用double類型

  5. double也不能精確表示10進(jìn)制小數(shù),保存數(shù)據(jù)時(shí)候存在尾數(shù)的舍入(四舍五入)誤差,相對(duì)于flfloat來說更加精確。?

浮點(diǎn)數(shù)直接量是double類型

浮點(diǎn)數(shù)的直接量有兩種寫法:

1)通常寫法,如:3.14、314、0.1、.5。

2)科學(xué)計(jì)數(shù)法,如:1.25E2、1.25e2、1.25E-2。其中,1.25E2表示1.25乘以10的2次方。

默認(rèn)的浮點(diǎn)直接量為double型,如果需要表示float類型的直接量,需要加“f”或“F”后綴。

double運(yùn)算時(shí)會(huì)出現(xiàn)舍入誤差

2進(jìn)制系統(tǒng)中無法精確的表示1/10,就好像十進(jìn)制系統(tǒng)中無法精確的表示1/3一樣,

所以,2進(jìn)制表示10進(jìn)制會(huì)有一些舍入誤差,對(duì)于一些要求精確運(yùn)算的場合會(huì)導(dǎo)致代碼的缺陷。

如果需要精確的運(yùn)算可以考慮放棄使用double或float而采用BigDecimal?類來實(shí)現(xiàn)

浮點(diǎn)數(shù)的計(jì)算

有浮點(diǎn)數(shù)參加的數(shù)學(xué)運(yùn)算稱之為是浮點(diǎn)數(shù)運(yùn)算,如果有一方不是浮點(diǎn)數(shù)將其轉(zhuǎn)換為浮點(diǎn)數(shù)再進(jìn)行運(yùn)算,浮點(diǎn)數(shù)計(jì)算結(jié)果是浮點(diǎn)數(shù),簡單理解就是小數(shù)與小數(shù)計(jì)算得到小數(shù),浮點(diǎn)數(shù)計(jì)算是會(huì)存在誤差的。

浮點(diǎn)類型總結(jié)

  • 浮點(diǎn)類型共2種:float和double

  • 分別是單精度和雙精度,雙精度使用較多。

  • 注意使用浮點(diǎn)數(shù)計(jì)算存在的問題,需要多加練習(xí)。

還沒有結(jié)束哦,小可愛繼續(xù)移步到下一篇,wink~


150天打卡day03_基本數(shù)據(jù)類型浮點(diǎn)型的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
登封市| 璧山县| 桃园县| 普兰店市| 绥江县| 科尔| 华亭县| 无锡市| 夏河县| 府谷县| 昂仁县| 阿瓦提县| 裕民县| 绥宁县| 周至县| 黄石市| 资溪县| 德昌县| 简阳市| 凤冈县| 扎兰屯市| 金华市| 泸西县| 巴彦淖尔市| 开鲁县| 庆云县| 凌源市| 岐山县| 博乐市| 定南县| 贵德县| 米易县| 门头沟区| 永城市| 四平市| 乌兰察布市| 泰州市| 德兴市| 崇仁县| 阳春市| 沁阳市|