相关疑难解决方法(0)

float和double有什么区别?

我已经读过双精度和单精度之间的区别.然而,在大多数情况下,floatdouble,似乎可以用一个可以互换的,即或其他的似乎不影响使用效果.这是真的吗?浮动和双打什么时候可以互换?它们之间有什么区别?

c c++ floating-point precision

384
推荐指数
9
解决办法
95万
查看次数

为什么十进制数不能用二进制表示?

关于浮点表示,已经向SO发布了几个问题.例如,十进制数0.1没有精确的二进制表示,因此使用==运算符将其与另一个浮点数进行比较是危险的.我理解浮点表示的原理.

我不明白的是,从数学的角度来看,为什么小数点右边的数字比左边的数字更"特殊"?

例如,数字61.0具有精确的二进制表示,因为任何数字的整数部分始终是精确的.但数字6.10并不准确.我所做的只是将十进制移动到一个地方,然后我突然从Exactopia转到了Inexactville.在数学上,两个数字之间应该没有内在差异 - 它们只是数字.

相比之下,如果我将小数位移到另一个方向以产生数字610,我仍然在Exactopia中.我可以继续向那个方向前进(6100,610000000,610000000000000),它们仍然是精确,准确,准确的.但是一旦小数越过某个阈值,数字就不再精确了.

这是怎么回事?

编辑:为了澄清,我想远离关于行业标准表示的讨论,例如IEEE,并坚持我认为是数学上"纯粹"的方式.在基数10中,位置值为:

... 1000  100   10    1   1/10  1/100 ...
Run Code Online (Sandbox Code Playgroud)

在二进制文件中,它们将是:

... 8    4    2    1    1/2  1/4  1/8 ...
Run Code Online (Sandbox Code Playgroud)

对这些数字也没有任何限制.位置无限增加到左侧和右侧.

math floating-point

275
推荐指数
8
解决办法
9万
查看次数

如何判断双精度浮点数是否可以安全存储为单精度浮点数?

可能重复:
实数 - 如何确定是否需要浮点数或双精度数?

我正在尝试检查从double到float的转换是否会导致精度损失.显然,我可以进行转换并将float转换回double并将其与原始值进行比较.我很好奇是否有更直接的方式.

c c++ floating-point

4
推荐指数
1
解决办法
1463
查看次数

确定浮点数是否与分数无理​​相关

我有一个随机的浮点数,我必须确定它是不合理的数字,如√2还是像123/321这样的分数.他们两个在任何地方都被表示为无穷无尽的数字,但有没有办法肯定地说一个数字是一个分数还是它是不合理的?

谢谢!

floating-point objective-c

0
推荐指数
1
解决办法
733
查看次数

标签 统计

floating-point ×4

c ×2

c++ ×2

math ×1

objective-c ×1

precision ×1