課程
/后端開(kāi)發(fā)
/Java
/Java入門(mén)第一季(IDEA工具)升級(jí)版
不懂,他們不是只是精確位數(shù)和占用大小不一樣嗎
2015-03-11
源自:Java入門(mén)第一季(IDEA工具)升級(jí)版 3-2
正在回答
涉及(計(jì)算)自動(dòng)轉(zhuǎn)型,char、byte計(jì)算時(shí)轉(zhuǎn)成int(沒(méi)有比int范圍更廣的long和精度更高的浮點(diǎn)數(shù)參與),其他的就是向精度更高的轉(zhuǎn)型,int與long計(jì)算轉(zhuǎn)型成long,int與float/double計(jì)算轉(zhuǎn)型成float/double,float與double轉(zhuǎn)型成double
這里,我想sum應(yīng)該是個(gè)整型吧(int/long),在計(jì)算double avg = sum/4; 時(shí)sum為int或long,除以4被轉(zhuǎn)型為int/long類(lèi)型,然后被賦值給精度更高的double類(lèi)型,然而整型是沒(méi)有浮點(diǎn)數(shù)部分的,因此小數(shù)部分在后面計(jì)算(sum/4)時(shí)就已經(jīng)被丟棄了,只保留了整數(shù)部分并賦值給double
而float avg = sum/4f;后面sum/4f時(shí)明確指定了除數(shù)是一個(gè)float類(lèi)型的浮點(diǎn)數(shù),那么這個(gè)計(jì)算會(huì)被轉(zhuǎn)型成精度更高的float進(jìn)行計(jì)算(即把sum也作float類(lèi)型進(jìn)行除運(yùn)算),因此結(jié)果會(huì)保留到float所允許的浮點(diǎn)數(shù)精度范圍內(nèi)
寂靜的小白 提問(wèn)者
寒蕊
第一個(gè)是 (double)(sum/4)
第二個(gè)是 (float)((float)sum/(float)4)?
舉報(bào)
0基礎(chǔ)萌新入門(mén)第一課,從Java環(huán)境搭建、工具使用、基礎(chǔ)語(yǔ)法開(kāi)始
3 回答double avg=sum/4d 或者float avg=sum/4f 后面加了字母d或f的,運(yùn)算出來(lái)是26.25 而double avg=sum/4 或者float avg=sum/4 這樣就只是26.0 這是為什么額,后面加字母是控制輸出精度的嘛?
3 回答double avg=sum/4.0;為什么這個(gè)結(jié)果是26.25,而不是26.0?
3 回答double avg=sum/4.0;結(jié)果是26.25?
2 回答為什么double avg=sum/4;和double avg=sum/4.0;不同????
1 回答怎么輸入double avg=sum/4.0之后平均年齡可以為26.25了嘞?如果是輸入double avg=sum/4平均年齡是26!求解怎么回事??
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2015-03-11
涉及(計(jì)算)自動(dòng)轉(zhuǎn)型,char、byte計(jì)算時(shí)轉(zhuǎn)成int(沒(méi)有比int范圍更廣的long和精度更高的浮點(diǎn)數(shù)參與),其他的就是向精度更高的轉(zhuǎn)型,int與long計(jì)算轉(zhuǎn)型成long,int與float/double計(jì)算轉(zhuǎn)型成float/double,float與double轉(zhuǎn)型成double
這里,我想sum應(yīng)該是個(gè)整型吧(int/long),在計(jì)算double avg = sum/4; 時(shí)sum為int或long,除以4被轉(zhuǎn)型為int/long類(lèi)型,然后被賦值給精度更高的double類(lèi)型,然而整型是沒(méi)有浮點(diǎn)數(shù)部分的,因此小數(shù)部分在后面計(jì)算(sum/4)時(shí)就已經(jīng)被丟棄了,只保留了整數(shù)部分并賦值給double
而float avg = sum/4f;后面sum/4f時(shí)明確指定了除數(shù)是一個(gè)float類(lèi)型的浮點(diǎn)數(shù),那么這個(gè)計(jì)算會(huì)被轉(zhuǎn)型成精度更高的float進(jìn)行計(jì)算(即把sum也作float類(lèi)型進(jìn)行除運(yùn)算),因此結(jié)果會(huì)保留到float所允許的浮點(diǎn)數(shù)精度范圍內(nèi)
2015-03-11
第一個(gè)是 (double)(sum/4)
第二個(gè)是 (float)((float)sum/(float)4)?