黑马程序员技术交流社区
标题:
关于单精度与双精度的有效数字的问题
[打印本页]
作者:
zq19910303
时间:
2015-5-24 14:38
标题:
关于单精度与双精度的有效数字的问题
本帖最后由 zq19910303 于 2015-5-27 10:00 编辑
理论上单精度有7位有效数数字。双精度有16位有效数字,为什么下面代码的结果是0.0 0.0
class Xiaoshu
{
public static void main(String[] args)
{
float f=1/3;
double d=1/3;
System.out.println(f);
System.out.println(d);
}
}
复制代码
作者:
luxinyu
时间:
2015-5-24 15:05
如果你想获得float或者double不是这么写的、、需要些(float)1/3。double同理
作者:
luxinyu
时间:
2015-5-24 15:10
如果你想获得一个float和double需要这两个数其中一个是那个类型的。否则默认是int计算。之后在赋值给一个浮点变量。这样在左面计算的时候就是0在赋值给浮点型就是0.0。可以向我上面那个帖子这么写或者把1或者3加后面加上f类型。double类型的在后面把1或者3写成1.0或者3.0的小数形式
作者:
黯然残影
时间:
2015-5-24 16:08
需要一个是float或double类型,否则俩个数都先按int计算,int转成它们就只有一位了
作者:
zhouzhiming88
时间:
2015-5-24 23:55
有效数字的概念:从第一个非零的数字算起的所有数字。都是0,体现不了有效数字的位数,所以都显示0.0。
作者:
下一页5
时间:
2015-5-25 00:07
好深奥啊
作者:
人在旅途~东营
时间:
2015-5-25 00:40
编码的时候记住强转和声明才可以。要不然java本身有自动默认类型的。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2