MQL5中的OOP问题 - 页 92 1...858687888990919293949596 新评论 Igor Makanu 2020.09.23 19:19 #911 Vladimir Simakov: int CSetting::sign=1<<31; int CSetting::_sign=1<<11; int CSetting::mean=0xFFFFFFFF>>21; 是的! 我从来没有猜到,变量值可以通过必要的移位来设置 ! 酷!谢谢 Dmitry Fedoseev 2020.09.23 19:21 #912 具有完全经济的空间。 void OnStart() { int a=2; // 0,1,2 int b=7; // 0,1,2 int c=7; // 0,1,2,3,4,5,6,7 int d=12345; int v=a+b*3+c*(3*8)+d*(3*8*8); d=v/(3*8*8); v%=(3*8*8); c=v/(3*8); v%=(3*8); b=v/3; a%=3; Alert(a," ",b," ",c," ",d); } Igor Makanu 2020.09.23 19:28 #913 Vladimir Simakov: 另一个问题...有什么方法可以通过union获得12位int吗?不要紧,)))) ZS:最好是一个9-15位的int,符号不是问题,也就是说可以无符号int(在最后的构建中,MQL已经学会了无符号int,可以用它代替uint)。 Dmitry Fedoseev 2020.09.23 19:35 #914 Icho: void OnStart() { int a=2; // 0,1,2 int b=3; // 0,1,2 int c=7; // 0,1,2,3,4,5,6,7 int d=12345; int v=(d<<8)|(c<<5)|(b<<2)|a; a=v&3; v>>=2; b=v&7; v>>=3; c=v&7; v>>=3; d=v; Alert(a," ",b," ",c," ",d); } Dmitry Fedoseev 2020.09.23 19:42 #915 Igor Makanu:另一个问题...有什么方法可以通过union获得12位int吗?不要紧,))))SZY: 最好是9-15位的int,分配的符号不是问题,也就是说可以用无符号的int(在最后的版本中,MQL已经学会了无符号的int,可以代替uint来使用)。 可能不会。目前还没有半字节的变量。 Igor Makanu 2020.09.23 19:43 #916 Dmitry Fedoseev:可能不会。目前还没有半字节的变量。 为什么不呢? 对所需的比特进行编码和屏蔽,可以使用任何数量的比特 但问题是不要把它搞砸了;) UPD:在谷歌上搜索这样的问题,至少要看他们的建议https://stackoverflow.com/questions/29529979/10-or-12-bit-field-data-type-in-c。 Dmitry Fedoseev 2020.09.23 19:45 #917 Igor Makanu:为什么不呢? 编码和屏蔽所需的比特,任何数量的比特都可以被使用但问题是不要把它搞砸了;) 那么你也可以不参加工会。 Igor Makanu 2020.09.23 19:46 #918 Dmitry Fedoseev:那么你也可以不参加工会。 是的,工会是一个问题,而不是一种便利。 [删除] 2020.09.23 22:05 #919 知道为什么编译器在基类中使用这个方法吗? 附加的文件: Code_it.mq5 2 kb Dmitry Fedoseev 2020.09.24 08:38 #920 Nelson Wanyama:知道为什么编译器在基类中使用这个方法吗? 因为你没有覆盖一个虚拟函数,你使用的是重载。 1...858687888990919293949596 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
Vladimir Simakov:
是的!
我从来没有猜到,变量值可以通过必要的移位来设置 !
酷!谢谢
具有完全经济的空间。
另一个问题...有什么方法可以通过union获得12位int吗?不要紧,))))
ZS:最好是一个9-15位的int,符号不是问题,也就是说可以无符号int(在最后的构建中,MQL已经学会了无符号int,可以用它代替uint)。
Icho:
另一个问题...有什么方法可以通过union获得12位int吗?不要紧,))))
SZY: 最好是9-15位的int,分配的符号不是问题,也就是说可以用无符号的int(在最后的版本中,MQL已经学会了无符号的int,可以代替uint来使用)。
可能不会。目前还没有半字节的变量。
可能不会。目前还没有半字节的变量。
为什么不呢? 对所需的比特进行编码和屏蔽,可以使用任何数量的比特
但问题是不要把它搞砸了;)
UPD:在谷歌上搜索这样的问题,至少要看他们的建议https://stackoverflow.com/questions/29529979/10-or-12-bit-field-data-type-in-c。
为什么不呢? 编码和屏蔽所需的比特,任何数量的比特都可以被使用
但问题是不要把它搞砸了;)
那么你也可以不参加工会。
那么你也可以不参加工会。
是的,工会是一个问题,而不是一种便利。
知道为什么编译器在基类中使用这个方法吗?
知道为什么编译器在基类中使用这个方法吗?
因为你没有覆盖一个虚拟函数,你使用的是重载。