关于JAVA的精确度

原创 2005年03月01日 12:20:00

关于JAVA的精确度

Java

/*
*关于JAVA的精确度*
*书上云:float的精确度是7位,double的精确度为17位*
*摘自《BEGIN JAVA 2》JAVA入门经典                *
*但下面的程序却让我对此产生了怀疑                *
*/
public class Yasa{
 public static void main(String arg[]){
  /*测试十一分之一的结果*/
  int m=1;
  int n=11;
  float o=(float)m/n;
  double p=(double)m/n;
  System.out.println("1/11 in float="+o+"/n"+"1/11 in double="+p);
  /*测试十一分之十二的结果*/
  int e=12;
  int f=11;
  float g=(float)e/f;
  double h=(double)e/f;
  System.out.println("12/11 in float="+g+"/n"+"12/11 in double="+h);
  /*测试三分之一的结果*/
  int a=1;
  int b=3;
  float c=(float)a/b;
  double d=(double)a/b;
  System.out.println("1/3 in float="+c+"/n"+"1/3 in double="+d);
  /*测试三分之四的结果*/
  int w=4;
  int x=3;
  float y=(float)w/x;
  double z=(double)w/x;
  System.out.println("4/3 in float="+y+"/n"+"4/3 in double="+z);
 }
}
/*运行结果:*
*1/11 in float=0.09090909             为8位*
*1/11 in double=0.09090909090909091   为17位*
*12/11 in float=1.0909091             为7位*
*12/11 in double=1.0909090909090908   为16位*
*1/3 in float=0.33333334              为8位*
*1/3 in double=0.3333333333333333     为16位*
*4/3 in float=1.3333334               为7位*
*4/3 in double=1.3333333333333333     为16位*
*================================*
*运行结果尺度不一,这说明精确度不是基于10进制考虑的*
*/

JAVA问题总结之30--输出当前精度为毫秒的时间并且按时间批量建立文件

JAVA问题总结之30--输出当前精度为毫秒的时间并且按时间批量建立文件 1.TimeByMs.java package java1; import java.util.Date; impor...
  • bob601450868
  • bob601450868
  • 2016年01月28日 21:30
  • 825

精度评定中的准确率(Precision)和召回率(Recall)

在模式识别中,我们经常会使用到一些指标对目标识别或者影像分类的结果进行评价。 我们经常使用的有三个指标: (1)准确率(Precision),又称“精度”、“正确率”; (2)召回率(Recall),...
  • gagalaha
  • gagalaha
  • 2016年05月05日 23:27
  • 7291

蒙特卡洛方法靠谱程度不高却受追捧

精度要求低或者精度无法保证高而计算量大的情况下,蒙特卡洛可以试试。随机全局优化大致如此。求不规则形状体积: 隐函数曲面方程 0.51(cosxcosy+cosxcosz+cosycosz)+cos...
  • stereohomology
  • stereohomology
  • 2017年05月23日 22:21
  • 300

采样方法(二)MCMC相关算法介绍及代码实现

0.引子书接前文,在采样方法(一)中我们讲到了拒绝采样、重要性采样一系列的蒙特卡洛采样方法,但这些方法在高维空间时都会遇到一些问题,因为很难找到非常合适的可采样Q分布,同时保证采样效率以及精准度。 ...
  • Dark_Scope
  • Dark_Scope
  • 2017年12月30日 15:32
  • 588

Java 各数据类型计算的精度问题

开发了一个项目,涉及到了价格计算的问题,由于之前考虑的不够周全,所有遇到了好多的类型之间计算出现的精度不准的问题,在这和大家分享一下,说的有不对的直接关闭此网页. //直接用int + double...
  • xinzhifu1
  • xinzhifu1
  • 2016年11月08日 16:51
  • 1323

JAVA基本数据类型范围和float、double精度问题

1.八中数据类型的分类如下:  第一类:整型 byte short int long 第二类:浮点型 float double 第三类:逻辑型 boolean(它只有两个值可取true false) ...
  • zc_ad
  • zc_ad
  • 2016年11月30日 09:56
  • 1812

tensorflow学习:mnist图片分类,并打印预测精度

使用softmax对mnist图片分类,并获取预测的准确度 import tensorflow as tf from tensorflow.examples.tutorials.mnist impo...
  • qoopqpqp
  • qoopqpqp
  • 2017年07月15日 16:04
  • 208

Java浮点数计算精确度问题

在Java中如果使用浮点型小数进行计算,尤其是商业计算将会出现奇怪的结果。比如下面的程序:System.out.println(30.29 - 1.01);我们期望它输出的结果是29.28,但是实际结...
  • u010180738
  • u010180738
  • 2017年02月26日 18:02
  • 126

java 数字计算精度问题

问题的提出:   编译运行下面这个程序会看到什么?   public class Test{ public static void mai...
  • gqltt
  • gqltt
  • 2013年11月13日 17:34
  • 1861

关于C#timer 时间精确度的问题

转自:http://bbs.csdn.net/topics/390952917 我想用精确的时间计算,需要精确到毫秒级别,代码运行后发下有误差。请教高人怎么实现。 C# code ...
  • u012252959
  • u012252959
  • 2015年12月28日 15:59
  • 2337
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于JAVA的精确度
举报原因:
原因补充:

(最多只允许输入30个字)