|
1
3
我猜你这里指的是“浮点”。答案是,基本上,任何时候所涉及的数量都是近似的、测量的,而不是精确的;任何时候,所涉及的数量大于基础机器上可以方便地精确表示的数量;任何时候,对计算速度的需求超过了精确的精度;而且任何时候都可以保持适当的精度,而不存在其他复杂性。 关于这方面的更多细节,你真的需要读一本数值分析的书。 |
|
|
2
3
浮点数应该用于它们的设计目的:在计算中需要的是一个固定值 精确 ,您只关心您的答案是否准确到一定的公差范围内。如果你在任何情况下都需要一个准确的答案,你最好使用其他方法。 以下是三个可以使用浮点的域:
浮点运算并不简单,对于大多数业务应用程序来说,您真的不需要了解所有这些细节。只要知道不能用浮点数精确地表示一些十进制数就可以了,而且应该确保对价格之类的东西使用一些十进制类型。 如果你真的想进入细节,了解所有的权衡和陷阱,看看经典 What Every Programmer Should Know About Floating Point ,或拿起一本书 Numerical Analysis 或 Applied Numerical Linear Algebra 如果你真的喜欢冒险。 |
|
|
3
2
有必要了解一些陷阱。例如,测试两个浮点数是否相等通常不是您想要的,因为只需要一点不准确度就可以使比较不相等。tgamblin提供了一些很好的参考。
|
|
|
4
2
简短的故事是,如果你需要 准确的 计算时,不要使用浮点。 不要将浮点数用作循环索引:不要被发现执行以下操作:
你会感到惊讶的。 不要使用浮点数作为任何类型映射的键,因为您永远无法指望像您预期的那样实现相等。 |
|
|
5
1
在处理科学或统计计算时,使用浮点类型是合适的。这些数据总是只有,比如说,3-8个有效数字的准确度。 至于是使用单精度浮点类型还是双精度浮点类型,这取决于您对精度的需要以及需要多少有效数字。通常情况下,除非有充分的理由不这样做,否则人们最终只会使用双打。
对于涉及此类内容的计算,浮点数是合适的。 另外,如果你在处理无理数,浮点类型是合适的(也是你唯一的选择),比如线性代数,你经常处理平方根。 钱是不同的,因为你通常需要精确,每个数字都是重要的。 |
|
|
6
1
我认为你应该问另一个问题:什么时候不应该使用浮点。对于大多数数字任务,浮点是首选的数据类型,因为您可以(几乎)忘记溢出和整数类型通常遇到的其他类型的问题。 观察浮点数据类型的一种方法是,精度与动态无关,即数字是否非常小或非常大(当然在可接受的范围内),有意义的位数是否大致相同。 y+x z) 。根据z、y和z的值,这可能很重要。 |
|
|
7
0
从…起 Wikipedia :
浮点运算速度快但不精确。如果这是一个可接受的折衷方案,请使用浮点。 |
|
|
Muhammad Umer · 为什么这个随机数猜谜游戏模拟产生5.8 1 年前 |
|
|
Alisa Petrova · 在有向图中更改一对顶点以创建循环 1 年前 |
|
|
D W · Python-将浮点数从2转换为10到100位小数 1 年前 |
|
|
Bartol · 确定python龟图形中的角度 1 年前 |
|
|
randomAlgo · 将弹簧设置为相同长度的成本最低 1 年前 |
|
Fyodor · 在C中使用sin和cos计算数学表达式不正确? 2 年前 |
|
Sergio · python中大量数字的乘法 2 年前 |