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을 어떻게 표시했는지 비교하십시오 - true이면 이 double은 유효하지 않지만 Print() 가 거기에 쓰는 내용은 ... 글쎄, 말하자면 7개의 봉인 뒤에 숨겨진 미스터리입니다. fxsaber 2019.10.28 12:50 #1443 Igor Makanu : 위의 예에서 내가 Num!= Num을 어떻게 표시했는지 비교하십시오 - true이면 이 double은 유효하지 않지만 Print()가 거기에 쓰는 내용은 ... 글쎄, 말하자면 7개의 봉인 뒤에 숨겨진 미스터리입니다. 물론 거짓. 이것은 정상적인 수치입니다. 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.940656458412465e-323 : 거짓 2019.10.28 17:05:40.503 tst1 (EURUSD,H4) 4.940656458412465e-324 : 사실 2019.10.28 17:05:40.503 tst1 (EURUSD,H4) 거짓 2019.10.28 17:05:40.503 tst1 (EURUSD,H4) 2.225073858507201e-308 제 생각에는 배정밀도 한계를 벗어났습니다. 상향: 좋아요: 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은 최소 양수 double이 아닙니다. 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는 확실히 0이 아니지만 그러한 숫자로 나누는 것은 금지되어 있습니까? fxsaber 2019.10.28 13:20 #1450 Igor Makanu : 그래서 예 ... 그러나 0으로 나누는 문제는 여전히 열려 있습니까? 그것은 첫 번째 게시물부터 폐쇄되었습니다. 최소 숫자에 1보다 작은 값을 곱하면 결과는 0입니다. 1...138139140141142143144145146147148149150151152...247 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
두 번째 숫자에 잘못된 이중 형식이 있다고 생각하지만 인쇄 및 작업 모두에서 여전히 유효성이 검사됩니다. 아마도 그것이 무너지는 이유일 것입니다.
유효한.
유효한.
위의 예에서 내가 Num!= Num을 어떻게 표시했는지 비교하십시오 - true이면 이 double은 유효하지 않지만 Print() 가 거기에 쓰는 내용은 ... 글쎄, 말하자면 7개의 봉인 뒤에 숨겨진 미스터리입니다.
위의 예에서 내가 Num!= Num을 어떻게 표시했는지 비교하십시오 - true이면 이 double은 유효하지 않지만 Print()가 거기에 쓰는 내용은 ... 글쎄, 말하자면 7개의 봉인 뒤에 숨겨진 미스터리입니다.
물론 거짓. 이것은 정상적인 수치입니다. NaN은 주제에서 완전히 벗어났습니다.
예 MathIsValidNumber 가 참이라고 말합니다.
예 MathIsValidNumber가 참이라고 말합니다.
이것은 계산을 통해 이 숫자를 얻는 방법입니다.
2019.10.28 17:05:40.503 tst1 (EURUSD,H4) 4.940656458412465e-323 : 거짓
2019.10.28 17:05:40.503 tst1 (EURUSD,H4) 4.940656458412465e-324 : 사실
2019.10.28 17:05:40.503 tst1 (EURUSD,H4) 거짓
2019.10.28 17:05:40.503 tst1 (EURUSD,H4) 2.225073858507201e-308
제 생각에는 배정밀도 한계를 벗어났습니다.
상향:
좋아요:
이것은 내가 이해하지 못한 것입니다.
DBL_MIN은 최소 양수 double이 아닙니다.
DBL_MIN은 정규화된 숫자를 반환합니다 . 아래는 비정규화된 숫자입니다.
2.22507e-308 4.94066e-324
일반적으로 DBL_MIN 보다 작은 본격적인 양수가 있다는 잘 알려진 진술을 찾았습니다.
일반적으로 DBL_MIN 보다 작은 본격적인 양수가 있다는 잘 알려진 진술을 찾았습니다.
그래서 예 ... 그러나 0으로 나누는 문제는 여전히 열려 있습니까?
숫자 4.940656458412465e-324는 확실히 0이 아니지만 그러한 숫자로 나누는 것은 금지되어 있습니까?
그래서 예 ... 그러나 0으로 나누는 문제는 여전히 열려 있습니까?
그것은 첫 번째 게시물부터 폐쇄되었습니다. 최소 숫자에 1보다 작은 값을 곱하면 결과는 0입니다.