Hatalar, hatalar, sorular - sayfa 1129

 

A100 :
32'535'244'799 != 32'535'215'999 - какое правильное? 

"3000.12.31 23:59:59" için doğru olan 3'535'215'999 olmalıdır.

Ve 3'535'244'799, "3001.01.01 07:59:59" için doğru olacaktır.

 
Fleder :

Sadece tarih saat türünün sınırı yanlış tanımlanmış:

Görünüşe göre sınır, yerel saatin GMT veya UTC'de aynı anda temsil edilme olasılığı dikkate alınarak tanımlanmıştır. O zaman -43'200'den 32'535'291.599'a kadar daha geniş sınırlar (+/-12 saat) yapmak mantıklı olacaktır.
 
Fleder :

Derleyici 13.7'yi çift olarak değerlendirir. Ancak aynı zamanda bu sayı kayıpsız bir float tipine dönüştürülebilir.

ve bu uyarı gereksizdir.

Gerçek sayının 13.7'nin kayıpsız şamandıra tipine dönüştürülebileceği bilgisini nereden aldınız?
 
stringo :
Gerçek sayının 13.7'nin kayıpsız şamandıra tipine dönüştürülebileceği bilgisini nereden aldınız?

Öyle değil mi? 13.7 \u003d 0.137 * 1e + 2 sayısı. Virgülden sonra üç haneyi kayan tipe dönüştürmedikçe, kayıpları kabul etmek mümkün mü? Gözlemlerime göre, dönüştürmeye çalışırken doğruluk kaybolmaya başlıyor

altı veya daha fazla ondalık basamaktan gelen sayılar.

Beş basamaklı karakter tırnaklarını (örneğin, 1.38829) bir ikili dosyaya kaydetmek için kayan nokta türünü kullanmayı denedi. Onları dosyadan geri okuduktan ve grafikte şu şekilde göstermeye çalıştıktan sonra

grafiğin mumlarının üzerine bindirilmiş mum göstergesinin kendisi, burada ve orada küçük tutarsızlıklar fark etti. Ancak beşinci basamağa normalleştirmeden sonra ortadan kayboldular.

Ancak çifte hassasiyet kaybı oldu: önce çiftten yüzmeye, sonra tekrar yüzmeden çifte.

 
https://www.mql5.com/ru/docs/convert/normalizedouble Fleder :

Öyle değil mi? 13.7 = 0.137 * 1e + 2 sayısı. Virgülden sonra üç haneyi kayan tipe dönüştürmedikçe, kayıpları kabul etmek mümkün mü? Gözlemlerime göre, dönüştürmeye çalışırken doğruluk kaybolmaya başlıyor

altı veya daha fazla ondalık basamaktan gelen sayılar.

Beş basamaklı karakter tırnaklarını (örneğin, 1.38829) bir ikili dosyaya kaydetmek için kayan nokta türünü kullanmayı denedi. Onları dosyadan geri okuduktan ve grafikte şu şekilde göstermeye çalıştıktan sonra

grafiğin mumlarının üzerine bindirilmiş mum göstergesinin kendisi, burada ve orada küçük tutarsızlıklar fark etti. Ancak beşinci basamağa normalleştirmeden sonra ortadan kayboldular.

Ancak çifte hassasiyet kaybı oldu: önce çiftten yüzmeye, sonra tekrar yüzmeden çifte.

Numara. Bu sonsuz bir kesirdir. Biz yazdık yazdık siz okumuyorsunuz.
 
stringo :
Numara. Bu sonsuz bir kesirdir. Biz yazdık yazdık siz okumuyorsunuz.

Okuyoruz ! Ancak kayıp "teknik olarak" (biçim özellikleri) ve gerekli olmayan bitlerde gerçekleşir.

 void OnStart ()
{
   Print (( float )( 13.7 ));   //13.7 - потерь "не видно"
   Print (( double )( 13.7 ));   //13.7 - здесь тоже
}
Особенности работы с числами типа double в MQL4 - Статьи по MQL4
  • www.mql5.com
Особенности работы с числами типа double в MQL4 - Статьи по MQL4: примеры использования экспертов, тестирования и оптимизации
 
A100 :

Böyle bir kaza da oldu. Komut dosyası başlatıldığında, Terminal (910) ve Derleyici (921) yapısı eşleşmezse gerçekleşir.

Ve işte kod

 class A  {
         int      array[];
};
void OnStart ()
{
        A *a = new A();
         if ( a != NULL )
                 delete ( a );
}

Derleyici 930, Terminal 910. Sonuç:

 
A100 :

Ve işte kod

Derleyici 930, Terminal 910. Sonuç:

Ve terminalin 910 ve derleyicinin 930 olması nasıl oldu?

Her ikisi de 910 ise, bu komut dosyası çökmez.

 

Sadece bir terminal değil (Emin değilim, ama bence bu Pazarda yaygın bir şey)

Orijinali ...\MQL5\Scripts klasöründen paylaşabilirim

Dosyalar:
Crash.ex5  4 kb
 
A100 :

Sadece bir terminal değil (Emin değilim, ama bence bu Pazarda yaygın bir şey)

Orijinali ...\MQL5\Scripts klasöründen paylaşabilirim

Peki, Win XP 32 bit'i kanıtlamak için ne gerekiyordu :