黑马程序员技术交流社区

标题: Double浮点数能精确到多少位小数! [打印本页]

作者: 李行周    时间: 2012-12-20 09:42
标题: Double浮点数能精确到多少位小数!
本帖最后由 李行周 于 2012-12-20 13:00 编辑

Double浮点数能精确到多少位小数?重点是使用的测试算法,怎么写的!
作者: 苗昆明    时间: 2012-12-20 10:03
double 关键字表示存储 64 位浮点值的简单类型。
作者: dbqwaii    时间: 2012-12-20 12:42
double是储存到64位的
作者: 李行周    时间: 2012-12-20 12:55
事在人为 发表于 2012-12-20 10:03
double 关键字表示存储 64 位浮点值的简单类型。

用什么算法可以测出来,算法怎么写
作者: 王晨    时间: 2012-12-20 17:25
本帖最后由 王晨 于 2012-12-20 17:27 编辑

你是这个意思吗?我写了个double的除法计算(1/3无限循环)

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;

  5. namespace ConsoleApplication1
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             double i=1.0,j=3.0;  
  12.             i=i/j;
  13.             Console.Write(i);
  14.             Console.ReadKey();

  15.         }
  16.     }
  17. }
复制代码

这样结果很明显的!
作者: 苗昆明    时间: 2012-12-21 11:46
李行周 发表于 2012-12-20 12:55
用什么算法可以测出来,算法怎么写

可以用它的最大最小值的属性啊。MAXVALUE,MINVALUE
作者: 谢辉林    时间: 2012-12-21 12:10
double是存储64位的双精度浮点型
class DoubleTemo
{
public static void main(String[] args)
{
double i=1.0,j=3.0;
i=i/j;
System.out.println("i="+i);
}
}
作者: 罗会涛    时间: 2012-12-21 12:22
楼主你说的精确到底是什么意思,是他表示的范围,还是准确计算出值的程度。
如果2.0-1.1得到的值在小数点后面一位就错了,那么是不是说明它的精确度为0.
不要尝试用浮点数计算出准确的结果
作者: 李行周    时间: 2012-12-21 12:58
罗会涛 发表于 2012-12-21 12:22
楼主你说的精确到底是什么意思,是他表示的范围,还是准确计算出值的程度。
如果2.0-1.1得到的值在小数点后 ...

精确比如:0.5精确到0.1;0.05精确到0.01;0.1精确到1位小数,0.01精确到两位小数
作者: 罗会涛    时间: 2012-12-21 13:09
李行周 发表于 2012-12-21 12:58
精确比如:0.5精确到0.1;0.05精确到0.01;0.1精确到1位小数,0.01精确到两位小数 ...

关键是你怎么知道他是0.5,0.5只是它打印出来的值,实际的值不是0.5,他可能比0.5大或者小是一个近似于0.5的数,不是确定的0.5




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2