双重数据类型的最小步骤是什么?(.NET)

双重数据类型的最小步骤是什么?(.NET),.net,numbers,double,.net,Numbers,Double,我的问题有点理论性,但实际上我在实践中需要它 假设我们有两个双变量X和Y。Y肯定是X的下一个双倍数,正如你们已经知道的,我们不能将任何实数保持在双精度中,因为即使在0到1的区间内,实数也是无限的 Y-X是常数吗?如果是,它的价值是什么 另外,我的问题与Microsoft.NET Framework有关。在.NET中,两个双精度值之间的最小差值为 有关比较双精度值的信息,请参阅的答案以获取有用的信息,正如公认的答案所述,应尽可能使用双精度值而不是双精度值。在.NET中,两个双精度值之间的最小差值为

我的问题有点理论性,但实际上我在实践中需要它

假设我们有两个双变量X和Y。Y肯定是X的下一个双倍数,正如你们已经知道的,我们不能将任何实数保持在双精度中,因为即使在0到1的区间内,实数也是无限的

Y-X是常数吗?如果是,它的价值是什么


另外,我的问题与Microsoft.NET Framework有关。

在.NET中,两个双精度值之间的最小差值为


有关比较双精度值的信息,请参阅的答案以获取有用的信息,正如公认的答案所述,应尽可能使用双精度值而不是双精度值。

在.NET中,两个双精度值之间的最小差值为


至于比较双精度值,请参阅的答案以获取有用信息,正如公认的答案所说,应尽可能使用双精度值而不是双精度值。

据我所知,没有框架方法可以从给定间隔内的给定值中查找下一个可表示的双精度值或浮点值。值d的下一个可表示数字不是d+Double.Epsilon。双精度值越大,连续双精度值之间的距离越大。ε是可表示双精度之间的最小距离,该距离仅出现在接近零的值上

<>在C或C++库中,经常有这样的函数,例如在C++的Boost库中。 我会看看是否能找到C语言的实现

编辑:

C语言的实现参见此处


据我所知,没有一种框架方法可以从给定区间内的给定值中找到下一个可表示的double或float值。值d的下一个可表示数字不是d+Double.Epsilon。双精度值越大,连续双精度值之间的距离越大。ε是可表示双精度之间的最小距离,该距离仅出现在接近零的值上

<>在C或C++库中,经常有这样的函数,例如在C++的Boost库中。 我会看看是否能找到C语言的实现

编辑:

C语言的实现参见此处


这意味着我可以执行循环并获得所有双精度值?循环以获得所有可表示双精度值就像从double.MinValue开始,然后计算下一个可表示双精度值一样简单,请参阅我答案中的链接。一旦您达到Double.MaxValue,您就完成了所有正常值的处理。有一些特殊值,如负零和无穷大/NaN,您可能希望也可能不希望包含在所有双精度值的枚举中。这意味着我可以执行循环并获取所有双精度值?循环获取所有可表示双精度值就像从double.MinValue开始,然后计算下一个可表示双精度值一样简单请参阅我答案中的链接。一旦您达到Double.MaxValue,您就完成了所有正常值的处理。有一些特殊值,如负零和无穷大/NaN,您可能希望也可能不希望包含在所有双精度值的枚举中。除非精度是固定的,否则如果该值存储在x位中,则不会。但对于固定精度,增量是固定的吗?对于十进制,此ctor表示是,但如果我确定我会将其作为答案而不是注释发布。除非精度是固定的,否则如果值存储在x位,则表示否。但对于固定精度,增量是固定的吗?对于decimal,这意味着是的,但如果我确定我会把它作为答案而不是评论发布。