Questions tagged «double»

Double是一种原始数据类型,用于存储小数,该小数具有双精度浮点数(通常为64位)。


11
使用epsilon比较双零
今天,我浏览了一些C ++代码(由其他人编写),发现了这一部分: double someValue = ... if (someValue < std::numeric_limits<double>::epsilon() && someValue > -std::numeric_limits<double>::epsilon()) { someValue = 0.0; } 我试图弄清楚这是否有意义。 文档epsilon()说明: 该函数返回1与大于1的最小值之间的差,该差可表示[双精度数]。 这是否也适用于0,即epsilon()最小值是否大于0?或者在其间数0和0 + epsilon可以由代表double? 如果不是,那么比较不等于someValue == 0.0?
214 c++  double 

3
为什么通过字符串进行往返转换对double而言不安全?
最近,我不得不将一个double序列化为文本,然后将其取回。该值似乎不相等: double d1 = 0.84551240822557006; string s = d1.ToString("R"); double d2 = double.Parse(s); bool s1 = d1 == d2; // -> s1 is False 但是根据MSDN:“标准数字格式字符串”,“ R”选项应该可以保证往返安全性。 往返(“ R”)格式说明符用于确保将转换为字符串的数值重新解析为相同的数值 为什么会这样呢?
185 c#  double  tostring  precision 


9
如何快速将Double舍入到最接近的Int?
我正在尝试制作一个增长率(Double)的计算器,将结果四舍五入到最接近的整数并从那里重新计算,如下所示: let firstUsers = 10.0 let growth = 0.1 var users = firstUsers var week = 0 while users < 14 { println("week \(week) has \(users) users") users += users * growth week += 1 } 但到目前为止我一直做不到。 编辑 我有点是这样的: var firstUsers = 10.0 let growth = 0.1 var users:Int = …
170 swift  int  double  rounding 


3
为什么多次添加0.1仍然无损?
我知道0.1十进制数不能用有限的二进制数精确地表示(解释),因此double n = 0.1将失去一些精度,并且将不精确0.1。另一方面,0.5因为它确实可以表示0.5 = 1/2 = 0.1b。 话虽如此,将0.1 三遍相加并不完全是可以理解的,0.3因此,以下代码将输出false: double sum = 0, d = 0.1; for (int i = 0; i < 3; i++) sum += d; System.out.println(sum == 0.3); // Prints false, OK 但是,0.1 五次相加会得到确切的结果0.5呢?以下代码显示true: double sum = 0, d = 0.1; for (int i = 0; …

21
用Java保持精度翻倍
public class doublePrecision { public static void main(String[] args) { double total = 0; total += 5.6; total += 5.8; System.out.println(total); } } 上面的代码打印: 11.399999999999 我如何才能仅打印(或将其用作)11.4?

3
为什么这个随机值的分布是25/75,而不是50/50?
编辑:所以基本上我想写的是1位哈希double。 我想将映射double到true或false有50/50的机会。为此,我编写了选择一些随机数的代码(仅作为示例,我想在具有规则性的数据上使用它并仍然获得50/50的结果),检查它们的最后一位,并递增y其是否为1,或者n是否为1。0。 但是,此代码始终导致25%y和75%的结果n。为什么不是50/50?为什么会有这样奇怪但直接的(1/3)分布呢? public class DoubleToBoolean { @Test public void test() { int y = 0; int n = 0; Random r = new Random(); for (int i = 0; i < 1000000; i++) { double randomValue = r.nextDouble(); long lastBit = Double.doubleToLongBits(randomValue) & 1; if (lastBit == 1) { …

10
如何在Java中实现无穷大?
Java是否可以代表每种数值数据类型的无穷大?如何实现它以便我可以对其进行数学运算? 例如 int myInf = infinity; //However it is done myInf + 5; //returns infinity myInf*(-1); //returns negative infinity 我尝试使用非常大的数字,但是我想要一个适当,简单的解决方案。
138 java  double  infinity 

12
是否可以通过减去两个不相等的浮点数来获得0?
在下面的示例中是否可以除以0(或无穷大)? public double calculation(double a, double b) { if (a == b) { return 0; } else { return 2 / (a - b); } } 在正常情况下,当然不会。但是如果a和b非常接近,会由于计算精度而(a-b)导致结果0吗? 请注意,这个问题是针对Java的,但是我认为它将适用于大多数编程语言。




9
MySQL分页而不重复查询?
我想知道是否有一种方法可以从MySQL查询中获取结果数量,并同时限制结果。 分页的工作方式(据我了解),首先我要做的是 query = SELECT COUNT(*) FROM `table` WHERE `some_condition` 得到num_rows(query)之后,我得到了结果数。但是为了实际限制结果,我必须执行第二个查询,例如: query2 = SELECT COUNT(*) FROM `table` WHERE `some_condition` LIMIT 0, 10 我的问题:是否无论是要检索要给出的结果总数,还是要限制单个查询中返回的结果?或更有效的方法。谢谢!
115 mysql  pagination  double 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.