gpt4 book ai didi

precision - 整数和浮点精度

转载 作者:行者123 更新时间:2023-12-02 23:09:14 26 4
gpt4 key购买 nike

这更多的是一个数值分析问题,而不是编程问题,但我想你们中的一些人能够回答它。

在两个 float 相加中,是否有精度损失?为什么?

float 和整数相加时,是否有精度损失?为什么?

谢谢。

最佳答案

In the sum two floats, is there any precision lost?

如果两个 float 的大小不同,并且都使用完整的精度范围(大约 7 个小数位),那么是的,您会在最后的位置看到一些损失。

Why?

这是因为 float 以(符号)(尾数)× 2(指数)的形式存储。如果两个值具有不同的指数并且您将它们相加,则较小的值将减少到尾数中更少的数字(因为它必须适应较大的指数):

PS> [float]([float]0.0000001 + [float]1)
1

In the sum of a float and a integer, is there any precision lost?

是的,普通的 32 位整数能够精确地表示不完全适合 float 的值。 float 仍然可以存储大约相同的数字,但不再精确。当然,这只适用于足够大的数字,即。 e.长度超过 24 位。

Why?

因为浮点有 24 位精度,而(32 位)整数有 32 位。浮点仍然能够保留大小和大部分有效数字,但最后的位置可能会有所不同:

PS> [float]2100000050 + [float]100
2100000100

关于precision - 整数和浮点精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1907114/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com