double-precision相关内容
能否将java.lang.Double存储到小数点后两位 例如:0.2变为0.20 我将代码修改为以下代码 Double correlation = getSomeDoubleValue(label, key, date); DecimalFormat df = new DecimalFormat("0.00");
..
我正在从 sqrt 函数(用于 64 位双精度)>fdlibm 到我目前正在使用的模型检查工具 (cbmc). 作为我工作的一部分,我阅读了很多关于 ieee-754 标准的内容,但我认为我不了解基本操作(包括 sqrt)的精度保证. 测试我的 fdlibm 的 sqrt 端口,我在 64 位双精度上使用 sqrt 得到以下计算: SQRT(19770615168252036055552
..
我知道这是一个奇怪的问题,但是 JavaScript 是否有能力使用双精度而不是单浮点?(64 位浮点数与 32 位.) 解决方案 JavaScript 中的所有数字都是 64 位浮点数. 参考: http://www.hunlock.com/blogs/The_Complete_Javascript_Number_Reference http://www.crockfo
..
每次我开始一个新项目并且需要比较一些浮点或双精度变量时,我都会编写如下代码: if (fabs(prev.min[i] - cur->min[i]) max[i])
..
在 C++ 中使用一种代替另一种的优点和缺点是什么? 解决方案 如果你想知道真正的答案,你应该阅读每个计算机科学家都应该知道的关于浮点运算的知识. 简而言之,虽然 double 在其表示中允许更高的精度,但对于某些计算,它会产生更大的错误.“正确"的选择是:使用尽可能多的精度,但不要更多并选择正确的算法. 无论如何,许多编译器都在“非严格"模式下进行扩展浮点数学运算(即使用硬件
..
float f = 0.7;如果( f == 0.7 )printf("等于");别的printf("不等于"); 为什么输出不等于? 为什么会这样? 解决方案 发生这种情况是因为在您的声明中 if(f == 0.7) 0.7 被视为双精度数.尝试 0.7f 以确保该值被视为浮点数: if(f == 0.7f) 但正如 Michael 在下面的评论中所建议的,您永远不应
..
给定一个double,我想把它四舍五入到给定的精度小数点后,类似于PHP的round()函数. 我能在 Dart 文档中找到的最接近的东西是 double.toStringAsPrecision(),但这并不是我所需要的,因为它在总精度点数中包含小数点之前的数字. 例如,使用 toStringAsPrecision(3): 0.123456789 舍入为 0.1239.1234567
..
float f = 0.7;如果( f == 0.7 )printf("相等");别的printf("不等于"); 为什么输出不等于? 为什么会发生这种情况? 解决方案 发生这种情况是因为在你的陈述中 if(f == 0.7) 0.7 被视为双精度值.尝试 0.7f 以确保将值视为浮点数: if(f == 0.7f) 但正如迈克尔在下面的评论中所建议的那样,您永远不应该
..
我有一个返回双精度值的函数.在某些情况下,结果为零,并且此结果应在调用方路由中进行相应处理.我想知道什么是返回双值数字的零(NaN,false等!)的正确方法: double foo(){如果(some_conditions){返回result_of_calculations;} 别的 {//以下哪个更好?返回std :: numeric_limits ::: quiet_N
..
我有一个使用纬度和经度的距离公式: distance = EARTH_MILES_RADIUS * Math.acos(Math.sin(lat1 / RADIAN_CONV) * Math.sin(lat2 / RADIAN_CONV) + Math.cos(lat1 / RADIAN_CONV) * Math.cos(lat2 / RADIAN_CONV)
..
我会理解为什么结果是无限的.我写下面的代码,我总是收到inf作为结果.我的代码有任何精度问题吗? #include #include #include "cuda.h" #include "curand_kernel.h" #define NDIM 30 #define NPAR 5 #define DIMPAR NDIM*NPAR __de
..
我使用公式exp(X)作为马尔可夫链的利率.因此,选择一个链接比另一个链接的比率为exp(X1)/exp(X2).我的问题是,有时X很大,所以exp(X)会超出double的范围. 或者:给定一个X [i]数组,其中有一些X [i]太大,以至于exp(X [i])超出了double的范围,请为每个i计算exp(X [i] )/S,其中S是所有exp(X [i])的和. 解决方案 此伪
..
我想计算(1.0-p)^n,其中p是0到1之间的双精度数(通常非常接近0),n是一个正整数,可能是几百或几千(也许更大;我是还不确定).如果可能的话,我想只使用Java内置的java.lang.Math.pow(1.0-p, n)来实现,但是我有点担心,这样做可能会导致我对所关注的值范围产生巨大的准确性/精度损失.有人对使用Java的实现会有什么样的错误有一个大概的认识吗?我不确定它们的实现到底是
..
我正在尝试移植_controlfp(_CW_DEFAULT,0xffffffff);从WIN32到Mac OS X/Intel.我绝对不知道该如何移植这条指令...而你呢?谢谢! 解决方案 尝试
..
我想了解为什么这段代码: double r,d,rc; scanf("%lf %lf", &r, &d); rc = (r * r) - (d/2) * (d/2); printf("%.2f\n", M_PI * rc); 返回比此结果更精确的结果(没有分配rc变量): double r,d,rc; scanf("%lf %lf", &r, &d); printf("%.2f\n
..
此查询有什么问题:我收到以下错误消息 SQL错误:ORA-00905:缺少关键字 00905. 00000-“缺少关键字" 它在第4行显示错误.请指教 CREATE TABLE ORDERS ( ID INT NOT NULL, ord_date DATE, AMOUNT double, CUSTOMER_ID INT references CUST
..
代码: class Main { public static void main (String[] args) { System.out.print("float: "); System.out.println(1.35f-0.00026f); System.out.print("double: "); System.
..
如果要在编译时在浮点精度和双精度之间切换,我应该在哪里查看.就像,如果用户希望所有内容都以浮点数而不是双精度数,该如何保持这种灵活性?换句话说,我该如何定义一个有条件地为float或double precision的变量? 解决方案 如果可以在编译时进行切换,则简单的typedef即可: #ifdef USE_DOUBLES typedef double user_data_t; #
..
给出一个双精度值,我想将其舍入到小数点后的给定精度点 ,类似于PHP的round()函数. 我在Dart文档中可以找到的最接近的东西是double.toStringAsPrecision(),但这并不是我所需要的,因为它在精度总点中包括小数点前的数字. 例如,使用toStringAsPrecision(3): 0.123456789 rounds to 0.123 9.123
..
我有一个double的文本表示形式,想知道将它来回翻倍并返回是安全的.如果我还想接受任何数字风格的输入,我怎么知道呢?或者我怎么知道用Double.Parse解析双字符串时是否丢失任何精度?或者,我如何ToString一个双精度以匹配与另一个双弦相同的格式?我认为对这些问题中的任何一个答案都是一种解决方案. 解决方案 使用R格式说明符将double转换为string: myDoubl
..