亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

double與float有什么區別,下面代碼的輸出結果分別是什么?

例如

int a=3;

int b=4;

int sum=a+b;

double avg1=sum/3;

float ?avg2=sum/3f;

正在回答

3 回答

個人感覺是精度不同吧,double可精確到16位,float精確到7位。例如,當你所得結果a小數后只有兩位時,double a與float a結果應該沒區別;但如果所得結果a為8位或更多時,結果就應該不同。本題運行的結果是avg1=2.0,avg2=2.3333333,題主應該將double avg1=sum/3改為double avg1=sum/3.0

0 回復 有任何疑惑可以回復我~
#1

lottazw 提問者

非常感謝!
2016-02-19 回復 有任何疑惑可以回復我~

double用來定義整數,float用于定義浮點數,就是帶小數點的數。sum/3=2.3333333,所以第一個算式保存為整數會截去小數部分,結果為2,第二個算式結果為2.3333333,默認保存七位小數

1 回復 有任何疑惑可以回復我~

百度到的:對編程人員來說,double 和 float 的區別是double精度高,有效數字16位,float精度7位。但double消耗內存是float的兩倍,double的運算速度比float慢得多,java語言中數學函數名稱double 和 float不同,不要寫錯,能用單精度時不要用雙精度(以省內存,加快運算速度)。 ??

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

double與float有什么區別,下面代碼的輸出結果分別是什么?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號