为了账号安全,请及时绑定邮箱和手机立即绑定

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下载
官方微信