mql5语言的特点、微妙之处以及技巧 - 页 145 1...138139140141142143144145146147148149150151152...247 新评论 fxsaber 2019.10.28 12:42 #1441 TheXpert: 我认为第二个数字有无效的双倍格式,但它在打印机和操作中仍然是有效的。 有效。 #include <TypeToBytes.mqh> // https://www.mql5.com/ru/code/16280 void OnStart() { double Num = 0; _W(Num) = (uchar)1; for (int i = 0; i < 324; i++) Num *= 10; Print(Num); // 4.940656458412466 } Igor Makanu 2019.10.28 12:45 #1442 fxsaber:有效。 正如我在上面的例子中所展示的那样,Num!=Num- 如果是真的,那么这个双数是无效的,但Print() 在那里写的是...好吧,这就像七封印背后的一个谜团 fxsaber 2019.10.28 12:50 #1443 Igor Makanu: 正如我在上面的例子中所展示的那样,Num!=Num- 如果为真,那么这个双数是无效的,而Print()在那里写 的是...嗯,这就像七个秘密背后的一个秘密。 当然,这是假的。这是一个正常的数字。NaN根本不在这个主题上。 TheXpert 2019.10.28 12:52 #1444 fxsaber: 是的,MathIsValidNumber 说是真的。 fxsaber 2019.10.28 12:55 #1445 TheXpert: 是的,MathIsValidNumber说是真的。 这个数字就是这样通过计算得到的。 void OnStart() { double Num = 5; for (int i = 0; i < 324; i++) Num /= 10; Print(0.1 * Num == 0); // true } Igor Makanu 2019.10.28 13:08 #1446 void OnStart() { double Num = 5; for (int i = 0; i < 324; i++) { Num /= 10; Print(Num, " : ", 0.1 * Num == 0); // true } Print(Num!=Num); Print(DBL_MIN); } 2019.10.28 17:05:40.503 tst1 (EURUSD,H4) 4.940656458412465-323 : true 2019.10.28 17:05:40.503 tst1 (EURUSD,H4) 4.940656458412465-324 : true 2019.10.28 17:05:40.503 tst1 (EURUSD,H4) false 2019.10.28 17:05:40.503 tst1 (EURUSD,H4) 2.225073858507201e-308 我认为我们已经超过了准确度的极限双 UPD。 这就对了。 void OnStart() { double Num = 5; for (int i = 0; i < 324; i++) { Num /= 10; // Print(Num, " : ", 0.1 * Num == 0); // true Print(Num, " : ",Num - DBL_MIN > 0.0 ); } Print(Num!=Num); Print(DBL_MIN); } //_______________________________________________________________________ [删除] 2019.10.28 13:13 #1447 fxsaber: 我不明白这个问题。 DBL_MIN是一个非最小的正双数。 DBL_MIN返回一个归一化的数字,下面是归一化的数字。 #include <limits> #include <iostream> using namespace std; int main() { cout << numeric_limits<double>::min() << " " << numeric_limits<double>::denorm_min() << endl; } 2.22507e-308 4.94066e-324 fxsaber 2019.10.28 13:15 #1448 总之,我们已经建立了,我想,众所周知的声明,即有小于DBL_MIN 的正整数。 #define DBL_MIN_CORRECT (5 e-324) // Минимальное положительное double-значение Igor Makanu 2019.10.28 13:18 #1449 fxsaber: 总之,我们一定发现了一个众所周知的说法:有小于DBL_MIN 的正整数。 所以是的...但除以0的问题仍未解决? 4.940656458412465e-324这个数字肯定不是零,除以这样的数字是禁止的? fxsaber 2019.10.28 13:20 #1450 Igor Makanu: 所以是的...但除以0的问题仍未解决,不是吗? 从第一个帖子开始,它就被关闭了。当一个最小的数字与小于1的东西相乘时,你会得到0。 1...138139140141142143144145146147148149150151152...247 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我认为第二个数字有无效的双倍格式,但它在打印机和操作中仍然是有效的。
有效。
有效。
正如我在上面的例子中所展示的那样,Num!=Num- 如果是真的,那么这个双数是无效的,但Print() 在那里写的是...好吧,这就像七封印背后的一个谜团
正如我在上面的例子中所展示的那样,Num!=Num- 如果为真,那么这个双数是无效的,而Print()在那里写 的是...嗯,这就像七个秘密背后的一个秘密。
当然,这是假的。这是一个正常的数字。NaN根本不在这个主题上。
是的,MathIsValidNumber 说是真的。
是的,MathIsValidNumber说是真的。
这个数字就是这样通过计算得到的。
2019.10.28 17:05:40.503 tst1 (EURUSD,H4) 4.940656458412465-323 : true
2019.10.28 17:05:40.503 tst1 (EURUSD,H4) 4.940656458412465-324 : true
2019.10.28 17:05:40.503 tst1 (EURUSD,H4) false
2019.10.28 17:05:40.503 tst1 (EURUSD,H4) 2.225073858507201e-308
我认为我们已经超过了准确度的极限双
UPD。
这就对了。
我不明白这个问题。
DBL_MIN是一个非最小的正双数。
DBL_MIN返回一个归一化的数字,下面是归一化的数字。
2.22507e-308 4.94066e-324
总之,我们已经建立了,我想,众所周知的声明,即有小于DBL_MIN 的正整数。
总之,我们一定发现了一个众所周知的说法:有小于DBL_MIN 的正整数。
所以是的...但除以0的问题仍未解决?
4.940656458412465e-324这个数字肯定不是零,除以这样的数字是禁止的?
所以是的...但除以0的问题仍未解决,不是吗?
从第一个帖子开始,它就被关闭了。当一个最小的数字与小于1的东西相乘时,你会得到0。