조금 놀랐습니다 :) 저는 수사학적 질문을 하지 않고 공유하기로 결정했습니다. - 페이지 22

 
MetaDriver :

1. 각 테이크에 대해 1회 작업입니다. 손실은 무시할 만하지만 확실한 이익이 있습니다. :) 원래 인용문은 로그가 한 번이고 정수 표현으로 변환된다고 가정합니다.

2. 맞습니다. 빠르지만 비트 시프트를 사용하는 스마트 알고리즘이 있기 때문입니다.

3. 오버플로 검사가 길지 않습니다.

4. 정수 부분을 전혀 할당할 필요가 없습니다. 분수는 long 쌍으로 저장됩니다. 그리고 가능하다면 int 쌍으로.

5. long 쌍으로 저장하면 정확히 같은 양, int가 충분하면 절반입니다(알고리즘의 정확성에 따라 다름).

따옴표가 메모리의 주요 소비자라는 점을 고려하면 정수 표현을 사용하면 공간의 이점을 부인할 수 없습니다.

주요 기능은 메모리 절약이 아니라 속도 향상이라는 사실에도 불구하고. 이것은 훨씬 더 중요합니다.

--

학자의 문제는 그가 틀렸다는 것이 아닙니다. 그리고 그것은 다른 사람들에게 잘못된 것을 드러냅니다.

이것은 존재하는 사람들의 짜증을 유발하고 건강한 아이디어에 대한 거부를 유발합니다 ... 더러운 물과 함께 ... :(

블라디미르 당신은 아무것도 혼동하지 않습니까? 당신이 설명한 것은 낮은 수준의 산술 double 및 float입니다. "Academician"을 도입하는 것과 동일한 산술에는 (정수 부분을 강조 표시하지 않아도) 저장을 위해 두 개 이상의 가수가 필요합니다.

그래서, 저축은 어디에 있습니까? double의 경우 8바이트, int의 경우 2*4바이트입니다.

가장 좋은 경우에는 이미 구현된 결과를 얻게 될 것입니다.

 
Urain :

블라디미르 당신은 아무것도 혼동하지 않습니까? 당신이 설명한 것은 낮은 수준의 산술 double 및 float입니다. 저장을 위해 "Academician"을 도입하는 것과 동일한 산술에는 정수 부분을 강조 표시하지 않아도 최소 두 개의 가수가 필요합니다.

그래서 저축은 어디에 있습니까? double의 경우 8바이트, int의 경우 2*4바이트입니다.

가장 좋은 경우에는 이미 구현된 결과를 얻게 될 것입니다.

따라서 1차원 값의 모든 점(분모)을 한 곳에 저장합니다. 동일합니다. :)

유형을 얻으십시오 - 포인트의 1/10 값이면 충분합니다. 그리고 이 분모를 따로 저장합니다.

 
MetaDriver :

노력하겠습니다. mql5에서 그런 술이 사라졌다면 ... :)

시간이 걸릴 것입니다. 라이브러리를 작성해야 합니다.

나는 그런 것을 시도했습니다. 거기에는 과자가 없습니다. 당신은 시간을 낭비하게 될 것입니다.

double을 이진수로 분해하고 두 개의 정수로 상상해 보면 설명하는 모든 것이 이미 이중 산술로 구현되었음을 이해할 수 있습니다.

ZY만 산술 연산은 낮은 수준에서 구현되며 더 높은 수준에서 수행하므로 속도와 메모리가 손실됩니다.

 

내 5센트.

정수는 견적 정보를 표현하는 보다 자연스러운 방법입니다. 결국 포인트의 수는 정수가 될 수 없습니다. 이러한 숫자를 저장하는 것이 더 경제적입니다. 즉, 디스크 메모리 수준과 메모리 프로세서 수준에서 다운로드 속도가 더 빠릅니다. 처리 알고리즘은 올바르게 구성된 경우 실수 알고리즘보다 훨씬 빠르며 일괄 SSE 연산을 고려하면 일반적으로 경쟁에서 뒤처집니다. 그러나 정수가 있지만 큰 것이 하나 있습니다. 소수의 사람들만 작업할 수 있습니다. 그리고 물론 터미널은 as를 지원해야 합니다. MQ의 대량 소비자에게는 이 수치가 적합하지 않습니다.


그건 그렇고 오버플로 검사의 문제는 하드웨어 인터럽트 수준에서 구현되어 잘못된 것이 아니라 반대로 사람들이 프로세서를 만들 때 오랫동안 이것에 대해 생각했습니다. 원칙적으로 정수 알고리즘을 프로그래밍하는 방법과 기술은 엄청나게 많지만, 반복해서 말하지만 이것은 대량 사용자를 위한 것이 아닙니다.


논점이 무엇인지 이해가 되지 않습니다. 테스터에 있는 것보다 더 빠른 테스트/최적화 알고리즘을 만들 수 있습니까? 그것은 가능하지만 저자의 면전에서 온실 조건에 사는 보편적 인 알고리즘은 아닙니다. 그런 것이 필요한 사람은 거의 없으며 대량 제품이 아닙니다. 그러므로 '내가 더 빠르다'는 정신으로 하는 말은 비길 데가 없다는 편협함과 오해의 증거로 밖에 볼 수 없다.

 
Urain :

나는 그런 것을 시도했습니다. 거기에는 과자가 없습니다. 당신은 시간을 낭비하게 될 것입니다.

double을 이진수로 분해하고 두 개의 정수로 상상해 보면 설명하는 모든 것이 이미 이중 산술로 구현되었음을 이해할 수 있습니다.

ZY만 산술 연산은 낮은 수준에서 구현되며 더 높은 수준에서 수행하므로 속도와 메모리가 손실됩니다.

닭을 쫓아가며 닭이 말했듯이 "나는 따라잡지 않고 따뜻하게 해 줄게..."

사실, 나는 이 주제에 대해 오랫동안 생각했고, 분명히 그것을 시도할 때입니다.

 
MetaDriver :

닭을 쫓아가며 닭이 말했듯이 "나는 따라잡지 않고 따뜻하게 해 줄게..."

사실, 나는 이 주제에 대해 오랫동안 생각했고, 분명히 그것을 시도할 때입니다.

반복적인 GCD 알고리즘을 제공하시겠습니까?
 
TheXpert :

무엇 때문에? C++가 허용됩니다.

내가 볼게요. 먼저 느껴야 합니다. 나는 나 자신에게 관심이 있다.
 
Urain :
반복적인 GCD 알고리즘을 제공하시겠습니까?
비트 시프트가 있는 경우 - 이리와. 모듈로 나누기가 있는 경우에는 필요하지 않습니다.
 
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 :
다음 게시물의 웃음은 잘립니다. 이걸 고려하세요.

ATP는 최소한 인정 - 이모티콘을 잘라 냈지만 전체 게시물을 삭제하는 사람은 누구입니까?

주제별, 학업 , 소위 "카운터"가 있다는 사실이 훌륭합니다. 분명히하고 싶지만 거래 중 자동 최적화 가능성이 있습니까?