nun*_*nos 4 precision floating-accuracy
这更多的是数值分析而不是编程问题,但我想你们中的一些人将能够回答它.
总和两个花车,是否有任何精度损失?为什么?
在float和integer之和中,是否有任何精度丢失?为什么?
谢谢.
总和两个花车,是否有任何精度损失?
如果两个浮点数具有不同的幅度并且两者都使用完整的精度范围(大约7个十进制数字),那么是的,您将看到最后一些位置的一些损失.
为什么?
这是因为浮点数以(符号)(尾数)×2 (指数)的形式存储.如果两个值具有不同的指数并且您添加它们,则较小的值将减少到尾数中的较少位数(因为它必须适应较大的指数):
PS> [float]([float]0.0000001 + [float]1)
1
Run Code Online (Sandbox Code Playgroud)
在float和integer之和中,是否有任何精度丢失?
是的,正常的32位整数能够精确地表示不完全适合浮点数的值.浮动仍然可以存储大致相同的数字,但不再完全相同.当然,这仅适用于足够大的数字,即.即 超过24位.
为什么?
因为float具有24位精度,而(32位)整数具有32. float仍然能够保留幅度和大多数有效数字,但最后的位置可能有所不同:
PS> [float]2100000050 + [float]100
2100000100
Run Code Online (Sandbox Code Playgroud)