为什么DBL_MIN不是负数(在Swift中)?

为什么DBL_MIN不是负数(在Swift中)?,第1张

概述为什么表达式DBL_MIN< 0返回false? 为什么与DLB_MIN的比较似乎表明DBL_MIN是正数? let a = DBL_MIN // 2.225073858507201e-308let b = DBL_MAX // 1.797693134862316e+308if a < 0.0 { print("1. DBL_MIN is indeed less than zero" 为什么表达式DBL_MIN< 0返回false?
为什么与DLB_MIN的比较似乎表明DBL_MIN是正数?

let a = DBL_MIN // 2.225073858507201e-308let b = DBL_MAX // 1.797693134862316e+308if a < 0.0 {    print("1. DBL_MIN is indeed less than zero") // doesn't print (unexpected)}if DBL_MIN < 0.0 {    print("2. DBL_MIN is indeed less than zero") // doesn't print (unexpected)}if DBL_MIN > 0.0 {    print("3. DBL_MIN is larger than zero?") // prints (unexpected)}if DBL_MIN > DBL_MAX {    print("4. DBL_MIN dID some strange flip?") // doesn't print (OK)}if b > 0.0 {    print("5. DBL_MAX is indeed larger than zero") // prints  (OK)}/* printout: 3. DBL_MIN is larger than zero?5. DBL_MAX is indeed larger than zero  */

我怀疑它与浮点精度有关,但我自己无法解释它.

我使用的是Swift 2.1.1和XCode 7.2.

解决方法 在最大负数的意义上它不是最小的,但是最接近零的数字可表示为Double:

2.225073858507201 * 10 ^ -308

这只是一个积极的价值. – 代表负指数,而不是负整数值.

总结

以上是内存溢出为你收集整理的为什么DBL_MIN不是负数(在Swift中)?全部内容,希望文章能够帮你解决为什么DBL_MIN不是负数(在Swift中)?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1003902.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存