有点惊讶 :)我想我应该分享并提出一个非反问的问题。 - 页 22

 
MetaDriver:

1.这是对每次拍摄的一次性操作。损失不大,那么稳固的收益。:)我假设原始商被对数一次,并转换为整数表示。

2.这是对的。虽然它的速度很快,因为有一个快速的算法,使用比特移位。

3.不超过溢出的检查。

4.整数部分根本不需要分配。分数作为一对长条存储,如果可能的话,作为一对英特存储。

5.如果存储为一对长条,则数量完全相同,如果有足够的英特,则数量为一半(这取决于算法的要求)。

如果我们考虑到主要的内存消费者是一个报价,那么用整数表示,空间上的收益是不可否认的。

虽然主要观点不是在节省内存,而是在加速。这是更重要的。

--

院士的问题不在于他是错的。是他让别人看错了。

这就是刺激在场的人,拒绝健康的想法......伴随着肮脏的水...:(

弗拉基米尔,你不感到困惑吗?你所描述的是低级算术的双倍和舰队,"院士 "提议引入的同样的算术需要(即使不分配整个部分)至少有两个螳螂来存储。

那么,这里面的经济性在哪里?8个字节的double和2*4字节的int。

充其量,你会得出已经实施的结果。

 
Urain:

弗拉基米尔,你不感到困惑吗?你所描述的是double和fet的低级算术,"Akademik "提议引入的同样的算术需要(即使不分配整数部分)至少两个mantis用于存储。

那么,这有什么可节省的呢。8个字节的double和2*4字节的int。

充其量,你会得出已经实施的结果。

因此,将一维量的所有点(分母)存储在同一个地方--它们是相同的。:)

创建一个类型--以十分之一为单位的值,就是这样。并将这个分母单独存放。

 
MetaDriver:

我试试吧。在mql5上,如果你想...:)

我只是需要时间。我将不得不写一个图书馆。

我试过一次,没有糖果,只是浪费了时间。

将双数分解成一个二进制数,并将其表示为两个ints,你会发现你所描述的一切已经在双数运算中实现了。

只有算术是在低级别实现的,你要在更高的级别上做,所以你会失去性能和内存。

 

我的五分钱。

整数是呈现报价信息的一种更自然的方式。毕竟,一个点的数量不可能不是整数。储存这样的数字更经济,因此在磁盘-内存和内存-处理器层面的下载速度更高。算法要比实数算法快得多,而SSE的批量操作已经失去了竞争力。但是,整数有一个很大的问题--只有计数的人才能用它工作。当然,终端必须有asm支持。对于大众消费者MQ来说,这些数字并不适合。


顺便说一下,溢出检查的问题是在硬件中断层面上实现的,这没有什么问题,相反,人们在很久以前创建处理器时就想到了这个问题。原则上,有很多整数算法编程的方法和技巧,但所有这些,我重申,不适合大众用户。


我不明白这有什么好争论的。你能创造一个比你的测试器中更快的测试/优化算法吗?你可以,但它不会是一个通用的算法,它将生活在作者的温室里--很少有人需要这样的东西--它不是一个大众产品。由于这个原因,本着 "我的更快 "的说法只能被看作是不可比的证据,并且不了解不能比较不可比的事实。

 
Urain:

我试过一次,没有糖果,只是浪费了时间。

将双数分解成一个二进制数,并将其表示为两个ints,你会发现你所描述的一切已经在双数运算中实现了。

ZZY只在低层次上实现算术,你在更高层次上做,会损失性能和内存。

"如果我没有追上,我会保持温暖",正如公鸡追逐母鸡时常说的那样......:)

事实上,我已经考虑了很久,可能是时候尝试一下了。

 
MetaDriver:

"如果我没有追上,我会保持温暖",正如公鸡所说,追赶母鸡......:)

事实上,我已经考虑了一段时间,所以我想现在是时候试一试了。

递归NOD算法给?
 
TheXpert:

为了什么?接受C++。

我去看看。我必须先感觉到它。我自己也对它感到好奇。
 
Urain:
你想要一个递归的NOD算法吗?
如果有位子转移,就去吧。如果用模除法,不要。
 
MetaDriver:
如果是用位移,就去吧。如果用模数除法,那就不要了。

你要用一个(不一定是2的倍数)的数字除以另一个(不一定是2的倍数)的数字,用位移法吗?

好吧,我把我得到的东西扔进去,然后你自己决定是否需要它。

//+------------------------------------------------------------------+
long GreatestCommonDivisor(long v0,long v1)
  {
   return(GCD(fmax(fabs(v0),fabs(v1)),fmin(fabs(v0),fabs(v1))));
  }
//+------------------------------------------------------------------+
long GCD(long max,long min)
  {
   if(min>0)return(GCD(min,max%min));
   else return(max);
  }
//+------------------------------------------------------------------+
 
DDFedor:
你今后的帖子中的笑脸将被剪掉。请牢记这一点。

谢谢你承认--你删掉了表情符号,但谁会删掉整个帖子呢?

话说回来,学术 我认为你们有一个所谓的 "计算器 "是很好的,但我想问的是,你们在交易过程中是否可以自动优化