Hatalar, hatalar, sorular - sayfa 2623

 
Vladimir Pastushak :

Çok eğlenceli matematik

Sonuç

2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Sonraki lot = 0.069999999999999999 0.06000000 + 0.01 nasıl 0.069999999999999999 olur

Bu soru her zaman gelir.
Herkes sürekli olarak IEEE 754 standardından bahseder, ancak çoğu zaman insanlar ya karmaşıklık ya da tembellik nedeniyle Wikipedia'ya gittiklerinde, bu standardın anlamını anlamadan ayrılırlar.

Bu gönderiye daha sonra başvurabilmek için bu standardı olabildiğince kısa ve basit terimlerle açıklamaya çalışmak için biraz zaman ayıracağım.


Yani çift tip 8 bayt = 64 bitten oluşur. ( yüzer 4 bayt = 32 bit)

Ve   çift sayı gösterimi ve yüzer 3 bileşenden oluşur: işaret ( işaret ), üs ve mantis  


ÇİFT:


BATMADAN YÜZMEK:

Doğal olarak, bu biçimde sayıların ondalık gösterimi yoktur, yalnızca ikili vardır.

  • İşaret 1 bittir. 0, + (artı) anlamına geliyorsa, 1 ise - (eksi) anlamına gelir.
  • Üs, 2 sayısının kuvvetini depolar. Float için -126 10 ila 127 10 ve çift için -1022 10 ila 1023 10 aralığında olabilir.
  • Mantis - sayının kendisinin ikili biçimde kesirli kısmı, bu ilk birim ve virgül dikkate alınmadan virgül ilk birimden sonra gelecek şekilde indirgenir


Sayıların ikili gösterimi ve ondalık sayılarla ilişkileri hakkında biraz bilgi:

2 4 = 10000 2 = 16 10

2 3 = 1000 2 = 8 10

2 2 = 100 2 = 4

2 1 = 10 2 = 2

2 0 = 1 2 = 1 10

2 -1 = 0,1 2 =(1/2) 10 = 0,5 10          

2 -2 = 0,01 2 = (1/4) 10 = 0,25 10

2 -3 = 0.001 2 = (1/8) 10 =   0.125 10

2 -4 = 0.0001 2 = (1/16) 10 =   0.0625 10

2 -5 = 0.00001 2 = (1/32) 10 =   0.03125 10

2 -6 = 0,00001 2 = (1/64) 10 = 0,015625 10

2 -7 = 0.0000001 2 = (1/128) 10 = 0.0078125 10

2 -8 = 0.00000001 2 = (1/256) 10 =   0.00390625 10

2 -9 = 0.000000001 2 = (1/512) 10 =   0,001953125 10

2 - 10 = 0.0000000001 2 = (1/1024) 10 =   0,0009765625 10

2 - 11 = 0.00000000001 2 = (1/2048) 10 =   0.00048828125 10

2 - 12 = 0.000000000001 2 = (1/4096) 10 =   0.000244140625 10

2 - 13 = 0.0000000000001 2 = (1/8192) 10 =   0.0001220703125 10

 

double türü için örnekler düşünün :

Örnek 1

Bir ondalık sayımız var: 891677.4025191

Bu sayı ikili biçimde temsil edilebilir:

11011001101100011101.0110011100001011011111011111000101000001111101110001110
(kim bakmak ister)

Belirli bir sayının mantisini, yalnızca virgül 19 bit sola hareket ettirerek (bu durumda) seçeriz, böylece ilk üniteden sonra gelir.

1. 10110011011000111010110011100001011011111011111000101 000001111101110001110

Ama elimizde sadece 52 bitlik bir mantis var. Yani ilk 52 anlamlı biti alıyoruz

Mantis = 10110011011000111010110011100001011011111011111000101

Üs = (19+1023) 10 = 10000010010 2   1023 10 (01111111111 2 ) ile toplama, 01111111111 2 sıfırdır, daha büyük olan her şey pozitif, daha az olan her şey negatiftir. Onlar. üs değerini geri almak için, 11 bitlik üs değerinden 1023 çıkarılmalıdır.

Toplamda 891677.4025191 numaramız double tipte şöyle görünecektir :

0    10000010010    10110011011000111010110011100001011011111011111000101

Ama o zamandan beri Bu ikili bir gösterim olduğundan, onu tam olarak ondalık sayıya çeviriyoruz:

891677.4025190 99996425211429595947265625 olacak


Örnek #2

Ondalık bir sayımız var: -0.00000145258556224114

Bu sayı ikili biçimde temsil edilebilir:

-0.000000000000000000110000101111101100111010110111010011010101001111001110

Belirli bir sayının mantisini, sadece virgül 20 haneyi sağa kaydırarak seçeriz, böylece ilk birimden sonra gelir.

1. 1000010111101100111010110111010011010101001111001110 * 2 -20

Mantis = 1000010111101100111010110111010011010101001111001110

Üs = (-20+1023) 10 = 0 1111101011 2

eksi işareti, ilk bitin 1 olduğu anlamına gelir.

Toplamda -0.00000145258556224114 sayımız çift tipte şöyle görünecektir:

1 0 1111101011 1000010111101100111010110111010011010101001111001110

Onu ondalık sayıya çevirelim:

-0.00000145258556224113 991124017968015191826225418481044471263885498046875 olacak



Sizin durumunuzda, sorun 0,01 sayısıyla ortaya çıkıyor, çünkü çift tipte şu şekilde temsil edilecektir:

0 01111111000 0100011110101110000101000111101011100001010001111011

ondalık basamağa dönüştürüldüğünde 0,01000000000000000020816681711721685132943093776702880859375'e eşittir 10

Sunum ile ise

3 10 = 1,5*2 = 1,1 2 *2 1

5 10 = 2,5*2 = 10,1 2 *2 1

6 10 = 1,5*4 = 1,1 2 *2 2

7 10 = 3,5*2 = 11,1 2 *2 1

sorun değil.

Neden çift 0,01 gerçekten 0,01'den daha büyük?

Bu yüzden:

0 01111111000 010001111010111000001101011110101110111011011101110110111011011011011101101101101110111011668171721681717216851329430937767028880859375 Hata = 0.000 000 000 000 000 208166817 ...

0 01111111000 01000111101011101101010001110101111011101011110110110111010110101111010101000111101 0 - 0.0099999999999999998473443341140409756911404097569175064563751220703125 Hata = - 0.000 000 000 000 001 52655666 ...

Bu süreç kimyasını anlamak için şu hesaplayıcılarla oynayabilirsiniz:
https://babbage.cs.qc.cuny.edu/IEEE-754.old/Decimal.html

https://baseconvert.com/ieee-754-kayan nokta

 
Vladimir Pastushak :

Çok eğlenceli matematik

Sonuç

2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Sonraki parti = 0.069999999999999999
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Sonraki parti = 0.069999999999999999
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Sonraki parti = 0.069999999999999999
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Sonraki parti = 0.069999999999999999
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.06000000 0.01 6.00 Sonraki lot = 0.069999999999999999 0.06000000 + 0.01 nasıl 0.069999999999999999 olur
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.05000000 0.01 5.00 Sonraki lot = 0.06
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.04000000 0.01 4.00 Sonraki parti = 0.05
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.03000000 0.01 3.00 Sonraki lot = 0.04
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.02000000 0.01 2.00 Sonraki lot = 0.03
2020.01.05 17:09:28.798 Testert EURUSD,H1: 0.01000000 0.01 1.00 Sonraki parti = 0.02


neden kesirli sayılar (çift) için işlevi kullanın MathFloor ( Alttan en yakın tamsayı değerini döndürür) ?
 
Nikolai Semko :

Bu soru her zaman gelir.

serin! gelecek rüya için internette yürüdüm, ancak "son yineleme nereye gitti?" Sorusuna cevap verebilir misiniz? ;) bu örnekte:

 void OnStart ()
{
   for ( double x = 10.0 ; x <= 20.0 ; x += 0.1 ) {
       printf ( "x = %10.60f" , x);
       Sleep ( 111 );
   }
}

2020.01.06 01:26:11.016 tst_double (EURUSD,H1) x = 10.00000000000000000000000000000000000000000000000000000000000

2020.01.06 01:26:11.127 tst_double (EURUSD,H1) x = 10.0999999999999996447286321199499070644378662109375000000000000

2020.01.06 01:26:11.239 tst_double (EURUSD,H1) x = 10.199999999999999289457264239899814128875732421875000000000000

2020.01.06 01:26:11.350 tst_double (EURUSD,H1) x = 10.299999999999998934185896359849721193313598632812500000000000

2020.01.06 01:26:11.462 tst_double (EURUSD,H1) x = 10.399999999999998578914528479799628257751464843750000000000000

2020.01.06 01:26:11.574 tst_double (EURUSD,H1) x = 10.499999999999998223643160599749535322189331054687500000000000

2020.01.06 01:26:11.686 tst_double (EURUSD,H1) x = 10.599999999999997868371792719699442386627197265625000000000000

2020.01.06 01:26:11.798 tst_double (EURUSD,H1) x = 10.699999999999997513100424839649349451065063476562500000000000

2020.01.06 01:26:11.910 tst_double (EURUSD,H1) x = 10.799999999999997157829056959599256515502929687500000000000000

2020.01.06 01:26:12.022 tst_double (EURUSD,H1) x = 10.899999999999996802557689079549163579940795898437500000000000

2020.01.06 01:26:12.134 tst_double (EURUSD,H1) x = 10.9999999999999996447286321199499070644378662109375000000000000

2020.01.06 01:26:12.246 tst_double (EURUSD,H1) x = 11.0999999999999960920149533194489777088165283203125000000000000

2020.01.06 01:26:12.358 tst_double (EURUSD,H1) x = 11.1999999999999995736743585439398884773254394531250000000000000

2020.01.06 01:26:12.470 tst_double (EURUSD,H1) x = 11.299999999999995381472217559348791837692260742187500000000000

2020.01.06 01:26:12.582 tst_double (EURUSD,H1) x = 11.399999999999995026200849679298698902130126953125000000000000

2020.01.06 01:26:12.695 tst_double (EURUSD,H1) x = 11.499999999999994670929481799248605966567993164062500000000000

2020.01.06 01:26:12.808 tst_double (EURUSD,H1) x = 11.59999999999999431565811391919851303105859375000000000000000

2020.01.06 01:26:12.920 tst_double (EURUSD,H1) x = 11.699999999999993960386746039148420095443725585937500000000000

2020.01.06 01:26:13.032 tst_double (EURUSD,H1) x = 11.799999999999993605115378159098327159881591796875000000000000

2020.01.06 01:26:13.143 tst_double (EURUSD,H1) x = 11.899999999999993249844010279048234224319458007812500000000000

2020.01.06 01:26:13.254 tst_double (EURUSD,H1) x = 11.999999999999992894572642398998141288757324218750000000000000

2020.01.06 01:26:13.367 tst_double (EURUSD,H1) x = 12.099999999999992539301274518948048353195190429687500000000000

2020.01.06 01:26:13.478 tst_double (EURUSD,H1) x = 12.1999999999999992184029906638897955417633056640625000000000000

2020.01.06 01:26:13.590 tst_double (EURUSD,H1) x = 12.2999999999999918287585387588478624820709228515625000000000000

2020.01.06 01:26:13.702 tst_double (EURUSD,H1) x = 12.3999999999999914734871708787977695465087890625000000000000000

2020.01.06 01:26:13.813 tst_double (EURUSD,H1) x = 12.4999999999999911182158029987476766109466552734375000000000000

2020.01.06 01:26:13.925 tst_double (EURUSD,H1) x = 12.599999999999990762944435118697583675384521484375000000000000

2020.01.06 01:26:14.037 tst_double (EURUSD,H1) x = 12.699999999999990407673067238647490739822387695312500000000000

2020.01.06 01:26:14.149 tst_double (EURUSD,H1) x = 12.799999999999990052401699358597397804260253906250000000000000

2020.01.06 01:26:14.261 tst_double (EURUSD,H1) x = 12.8999999999999896971303314785473048686981201171875000000000000

2020.01.06 01:26:14.372 tst_double (EURUSD,H1) x = 12.9999999999999989341858963598497211933135986328125000000000000

2020.01.06 01:26:14.483 tst_double (EURUSD,H1) x = 13.0999999999999889865875957184471189975738525390625000000000000

2020.01.06 01:26:14.596 tst_double (EURUSD,H1) x = 13.1999999999999886313162278383970260620117187500000000000000000

2020.01.06 01:26:14.707 tst_double (EURUSD,H1) x = 13.299999999999998276044859958346933126449584960937500000000000

2020.01.06 01:26:14.820 tst_double (EURUSD,H1) x = 13.399999999999987920773492078296840190887451171875000000000000

2020.01.06 01:26:14.932 tst_double (EURUSD,H1) x = 13.499999999999987565502124198246747255325317382812500000000000

2020.01.06 01:26:15.044 tst_double (EURUSD,H1) x = 13.599999999999987210230756318196654319763183593750000000000000

2020.01.06 01:26:15.157 tst_double (EURUSD,H1) x = 13.6999999999999868549593884381465611384201049804687500000000000

2020.01.06 01:26:15.270 tst_double (EURUSD,H1) x = 13.7999999999999986499688020558096468448638916015625000000000000

2020.01.06 01:26:15.381 tst_double (EURUSD,H1) x = 13.8999999999999861444166526780463755130767822265625000000000000

2020.01.06 01:26:15.493 tst_double (EURUSD,H1) x = 13.99999999999999985789145284797996282577514648437500000000000000

2020.01.06 01:26:15.604 tst_double (EURUSD,H1) x = 14.0999999999999854338739169179461896419525146484375000000000000

2020.01.06 01:26:15.717 tst_double (EURUSD,H1) x = 14.199999999999985078602549037896096706390380859375000000000000

2020.01.06 01:26:15.828 tst_double (EURUSD,H1) x = 14.2999999999999984723331181157846003770828247070703125000000000000

2020.01.06 01:26:15.941 tst_double (EURUSD,H1) x = 14.399999999999984368059813277795910835266113281250000000000000

2020.01.06 01:26:16.054 tst_double (EURUSD,H1) x = 14.4999999999999840127884453977458178997039794921875000000000000

2020.01.06 01:26:16.167 tst_double (EURUSD,H1) x = 14.5999999999999983657517077517695724964141845703125000000000000

2020.01.06 01:26:16.280 tst_double (EURUSD,H1) x = 14.69999999999999833022457096376456320285797119114062500000000000

2020.01.06 01:26:16.393 tst_double (EURUSD,H1) x = 14.7999999999999829469743417575955390930175781250000000000000000

2020.01.06 01:26:16.504 tst_double (EURUSD,H1) x = 14.899999999999982591702973877545446157455444335937500000000000

2020.01.06 01:26:16.615 tst_double (EURUSD,H1) x = 14.999999999999982236431605997495353221893310546875000000000000

2020.01.06 01:26:16.728 tst_double (EURUSD,H1) x = 15.09999999999998188116023811744526028633176757812500000000000

2020.01.06 01:26:16.841 tst_double (EURUSD,H1) x = 15.199999999999981525888870237395167350769042968750000000000000

2020.01.06 01:26:16.953 tst_double (EURUSD,H1) x = 15.2999999999999981170617502357345074415206909179687500000000000

2020.01.06 01:26:17.066 tst_double (EURUSD,H1) x = 15.3999999999999808153461344772949814796447753906250000000000000

2020.01.06 01:26:17.179 tst_double (EURUSD,H1) x = 15.4999999999999980460074766597244888544082641601562500000000000

2020.01.06 01:26:17.290 tst_double (EURUSD,H1) x = 15.599999999999980104803398717194795608520507812500000000000000

2020.01.06 01:26:17.402 tst_double (EURUSD,H1) x = 15.699999999999979749532030837144702672958374023437500000000000

2020.01.06 01:26:17.514 tst_double (EURUSD,H1) x = 15.799999999999979394260662957094609737396240234375000000000000

2020.01.06 01:26:17.627 tst_double (EURUSD,H1) x = 15.8999999999999790389892995077044516801834106445312500000000000

2020.01.06 01:26:17.740 tst_double (EURUSD,H1) x = 15.999999999999978683717927196994423866271972656250000000000000

2020.01.06 01:26:17.851 tst_double (EURUSD,H1) x = 16.099999999999980104803398717194795608520507812500000000000000

2020.01.06 01:26:17.964 tst_double (EURUSD,H1) x = 16.199999999999981525888870237395167350769042968750000000000000

2020.01.06 01:26:18.076 tst_double (EURUSD,H1) x = 16.2999999999999829469743417575955390930175781250000000000000000

2020.01.06 01:26:18.189 tst_double (EURUSD,H1) x = 16.399999999999984368059813277795910835266113281250000000000000

2020.01.06 01:26:18.302 tst_double (EURUSD,H1) x = 16.4999999999999985789145284797996282577514648437500000000000000

2020.01.06 01:26:18.414 tst_double (EURUSD,H1) x = 16.599999999999987210230756318196654319763183593750000000000000

2020.01.06 01:26:18.526 tst_double (EURUSD,H1) x = 16.69999999999998863131622783839702606201171875000000000000000000

2020.01.06 01:26:18.638 tst_double (EURUSD,H1) x = 16.799999999999990052401699358597397804260253906250000000000000

2020.01.06 01:26:18.750 tst_double (EURUSD,H1) x = 16.89999999999999147348717087879776954650878906250000000000000

2020.01.06 01:26:18.861 tst_double (EURUSD,H1) x = 16.999999999999992894572642398998141288757324218750000000000000

2020.01.06 01:26:18.973 tst_double (EURUSD,H1) x = 17.099999999999994315658113919198513031058593750000000000000000

2020.01.06 01:26:19.085 tst_double (EURUSD,H1) x = 17.1999999999999995736743585439398884773254394531250000000000000

2020.01.06 01:26:19.197 tst_double (EURUSD,H1) x = 17.299999999999997157829056959599256515502929687500000000000000

2020.01.06 01:26:19.309 tst_double (EURUSD,H1) x = 17.399999999999998578914528479799628257751464843750000000000000

2020.01.06 01:26:19.420 tst_double (EURUSD,H1) x = 17.50000000000000000000000000000000000000000000000000000000000

2020.01.06 01:26:19.532 tst_double (EURUSD,H1) x = 17.6000000000000001421085471520200371742248535156250000000000000

2020.01.06 01:26:19.644 tst_double (EURUSD,H1) x = 17.700000000000000284217094304040074348449707031250000000000000

2020.01.06 01:26:19.757 tst_double (EURUSD,H1) x = 17.8000000000000004263256414560601115226745605468750000000000000

2020.01.06 01:26:19.870 tst_double (EURUSD,H1) x = 17.90000000000000568434188608080148696899414062500000000000000

2020.01.06 01:26:19.982 tst_double (EURUSD,H1) x = 18.000000000000007105427357601001858711242675781250000000000000

2020.01.06 01:26:20.093 tst_double (EURUSD,H1) x = 18.10000000000000852651282912120223045349121093750000000000000

2020.01.06 01:26:20.205 tst_double (EURUSD,H1) x = 18.200000000000009947598300641402602195739746093750000000000000

2020.01.06 01:26:20.316 tst_double (EURUSD,H1) x = 18.300000000000011368683772161602973937988281250000000000000000

2020.01.06 01:26:20.429 tst_double (EURUSD,H1) x = 18.400000000000012789769243681803345680236816406250000000000000

2020.01.06 01:26:20.542 tst_double (EURUSD,H1) x = 18.50000000000001421085471520200371742248535156250000000000000

2020.01.06 01:26:20.653 tst_double (EURUSD,H1) x = 18.600000000000015631940186722204089164733886718750000000000000

2020.01.06 01:26:20.764 tst_double (EURUSD,H1) x = 18.700000000000017053025658242404460906982421875000000000000000

2020.01.06 01:26:20.877 tst_double (EURUSD,H1) x = 18.80000000000018474111129762604832649230957031250000000000000

2020.01.06 01:26:20.989 tst_double (EURUSD,H1) x = 18.90000000000001989519660128280520439147949218750000000000000

2020.01.06 01:26:21.101 tst_double (EURUSD,H1) x = 19.000000000000021316282072803005576133728027343750000000000000

2020.01.06 01:26:21.213 tst_double (EURUSD,H1) x = 19.100000000000022737367544323205947875976562500000000000000000

2020.01.06 01:26:21.326 tst_double (EURUSD,H1) x = 19.200000000000024158453015843406319618225097656250000000000000

2020.01.06 01:26:21.438 tst_double (EURUSD,H1) x = 19.300000000000025579538487363606691360473632812500000000000000

2020.01.06 01:26:21.551 tst_double (EURUSD,H1) x = 19.400000000000027000623958883807063102722167968750000000000000

2020.01.06 01:26:21.664 tst_double (EURUSD,H1) x = 19.500000000000028421709430404007434844970703125000000000000000

2020.01.06 01:26:21.776 tst_double (EURUSD,H1) x = 19.600000000000029842794901924207806587219238281250000000000000

2020.01.06 01:26:21.887 tst_double (EURUSD,H1) x = 19.700000000000031263880373444408178329467773437500000000000000

2020.01.06 01:26:22.000 tst_double (EURUSD,H1) x = 19.800000000000032684965844964608550071716308593750000000000000

2020.01.06 01:26:22.112 tst_double (EURUSD,H1) x = 19.9000000000000341060513164848089218139648437500000000000000



tüm ciddiyetle, anlamak ve net bir açıklama istiyorum, 20.0 nereye gitti?

 
Igor Makanu :

serin! gelecek rüya için internette dolaştım, ancak "son yineleme nereye gitti?" Sorusuna cevap verebilir misiniz? ;) bu örnekte:

tüm ciddiyetle, anlamak ve net bir açıklama istiyorum, 20.0 nereye gitti?

Yani her şey basit:

0,1 çift tip gerçekten 0.1000000000000000055511151231257827021181583404541015625, yani 0.1'den fazla

buradan? son kontrolde, zaten 20'den fazla olacak veya daha doğrusu 10+100*0.1000000000000000055511151231257827021181583404541015625 ~ 20.000000000000000555111512312578

ve döngü biter

Ancak bu deneyi yaparsanız:

 void OnStart () {
   for ( double x = 0.0 ; x <= 1.0 ; x += 0.01 ) {
       printf ( "x = %10.60f" , x);
   }
}

sonra son yinelemenin sonucu:

 2020.01 . 05 16 : 51 : 40.480 TestDouble (EURUSD,M1)  x = 0.970000000000000639488462184090167284011840820312500000000000
2020.01 . 05 16 : 51 : 40.480 TestDouble (EURUSD,M1)  x = 0.980000000000000648370246381091419607400894165039062500000000
2020.01 . 05 16 : 51 : 40.480 TestDouble (EURUSD,M1)  x = 0.990000000000000657252030578092671930789947509765625000000000

Ancak double'ı float olarak değiştirirsek sonuç şöyle olur:

 2020.01 . 05 16 : 53 : 06.926 TestDouble (EURUSD,M1)  x = 0.979999363422393798828125000000000000000000000000000000000000
2020.01 . 05 16 : 53 : 06.926 TestDouble (EURUSD,M1)  x = 0.989999353885650634765625000000000000000000000000000000000000
2020.01 . 05 16 : 53 : 06.926 TestDouble (EURUSD,M1)  x = 0.999999344348907470703125000000000000000000000000000000000000

çünkü double için 0.01, 0.01'den büyük ve float için daha küçük

 
Nikolai Semko :

Yani her şey basit:

0,1 çift tip gerçekten 0.1000000000000000055511151231257827021181583404541015625, yani 0.1'den fazla

buradan? son kontrolde, zaten 20'den fazla olacak veya daha doğrusu 10+100*0.1000000000000000055511151231257827021181583404541015625 ~ 20.000000000000000555111512312578

ve döngü biter

Tamam anladım

öyle, for() döngüsü yinelenecek ve koşulu karşılaştıracak, sorun çözüldü

Bu kodu da örnek olarak gösterebilirsiniz:

 void OnStart ()
{
   for ( int x = 10 ; x <= 20 ; x += 1 ) {
       printf ( "x = %10.60f" , x);
       Sleep ( 111 );
   }
}

2020.01.06 01:48:50.513 tst_double (EURUSD,H1) x = 10.00000000000000000000000000000000000000000000000000000000000

2020.01.06 01:48:50.642 tst_double (EURUSD,H1) x = 11.00000000000000000000000000000000000000000000000000000000000

2020.01.06 01:48:50.767 tst_double (EURUSD,H1) x = 12.00000000000000000000000000000000000000000000000000000000000

2020.01.06 01:48:50.892 tst_double (EURUSD,H1) x = 13.000000000000000000000000000000000000000000000000000000000000

2020.01.06 01:48:51.017 tst_double (EURUSD,H1) x = 14.000000000000000000000000000000000000000000000000000000000000

2020.01.06 01:48:51.142 tst_double (EURUSD,H1) x = 15.00000000000000000000000000000000000000000000000000000000000

2020.01.06 01:48:51.267 tst_double (EURUSD,H1) x = 16.000000000000000000000000000000000000000000000000000000000000

2020.01.06 01:48:51.392 tst_double (EURUSD,H1) x = 17.000000000000000000000000000000000000000000000000000000000000

2020.01.06 01:48:51.517 tst_double (EURUSD,H1) x = 18.000000000000000000000000000000000000000000000000000000000000

2020.01.06 01:48:51.642 tst_double (EURUSD,H1) x = 19.000000000000000000000000000000000000000000000000000000000000

2020.01.06 01:48:51.767 tst_double (EURUSD,H1) x = 20.00000000000000000000000000000000000000000000000000000000000


burada, beklendiği gibi, döngü 20 numaraya ulaşarak sona erdi

 
Nikolai Semko :

Bu soru her zaman gelir.
Herkes sürekli olarak IEEE 754 standardından bahseder, ancak çoğu zaman insanlar ya karmaşıklık ya da tembellik nedeniyle Wikipedia'ya gittiklerinde, bu standardın anlamını anlamadan ayrılırlar.

Bu gönderiye daha sonra başvurabilmek için bu standardı olabildiğince kısa ve basit terimlerle açıklamaya çalışmak için biraz zaman ayıracağım.

Kalbimin derinliklerinden teşekkür ederim! Teşekkür ederim!

Bu mesaj sadece bir çift sayı çalışması olarak değil, aynı zamanda Google'a göndermeden kullanıcıya yetkin, anlaşılır bir cevap örneği olarak da ifade edilebilir.

 
Igor Makanu :

onlar. Markette yayınlananların mesajlarını görmezden gelmeyi mi öneriyorsunuz? ... bunu yapmak isteyip istemediğimden emin değilim, bir soru vardı, bir tartışma vardı, bence bu normal bir durum

not:

ekte .... printf () aracılığıyla çift yazdırmayı deneyin, "aydınlanma ruhunun bizim için ne kadar harika keşifler hazırladığı hakkında" daha pek çok şey olacağına dair bir şüphem var.

;)

Hiçbir şey teklif etmedim ve kimseyi hiçbir şeye çağırmadım. Sadece kendisinin yazdıklarını değil, başkalarının yazdıklarını da forumda daha sık okumanın gerekli olduğunu düşünüyorum. Özellikle de gerçekten tecrübesiz biri soru sorarsa. Ne de olsa, bu soru ve cevaplarda kendiniz için birçok yararlı şey öğrenebilirsiniz. Kendiniz bile düşünmediğiniz sorunun cevabını bile bulabilirsiniz. Bu IEEE 754 standardını kişisel olarak çok daha önce öğrendim, sadece yeni başlayanların sorularını okuyarak. Gerçek yeni gelenler... Bu tam olarak Vladimir'e size yanıt olarak gönderilen mesajdır.

 
Alexey Viktorov :

Hiçbir şey teklif etmedim ve kimseyi hiçbir şeye çağırmadım. Sadece kendisinin yazdıklarını değil, başkalarının yazdıklarını da forumda daha sık okumanın gerekli olduğunu düşünüyorum. Özellikle de gerçekten tecrübesiz biri soru sorarsa. Ne de olsa, bu soru ve cevaplarda kendiniz için birçok yararlı şey öğrenebilirsiniz. Kendiniz bile düşünmediğiniz sorunun cevabını bile bulabilirsiniz. Bu IEEE 754 standardını kişisel olarak çok daha önce öğrendim, sadece yeni başlayanların sorularını okuyarak. Gerçek yeni gelenler... Bu tam olarak Vladimir'e size yanıt olarak gönderilen mesajdır.

5 sentimi ekleyeceğim. Hepsi IMHO. Bir yıldan fazla programlama yapmak ve tabanları öğrenmemek çok garip ve kayan noktalı sayıların matematiği tam olarak taban. Böylece sadece rıhtımlar ve standartlar Rus (ve sadece değil) demokrasisinin babalarını kurtaracak. Onları düşünceli bir şekilde iç.
 
Vladimir Pastushak :

Kalbimin derinliklerinden teşekkür ederim! Teşekkür ederim!

Bu mesaj sadece bir çift sayı çalışması olarak değil, aynı zamanda Google'a göndermeden kullanıcıya yetkin, anlaşılır bir cevap örneği olarak da ifade edilebilir.

Benim için zevkti :)

 

Ok kodlarını sık sık aramam, ancak yardımda bulmak inanılmaz derecede zor!

Bu, yıldızların, dairelerin vb.

Ve arama doğru olanı dışında her şeyi üretir!