C-vel kapcsoltban miért történik ez?
Egy szimulációt írok, amelynek során nagy mennyiségű adattal dolgozok. Van egy for ciklusom, amelyet 0-tól 2 milliárdig futtatva teljesen korrekt és várható eredményeket kapok, de 3 milliárdnál már gondok vannak. Először azt hittem, hogy elszámoltam magam és 9 óra alatt még nem volt ideje kiszámolni a dolgokat a gépnek, de aztán tetem bele egy tájékoztató funkciót, amely szerint a ciklus 71%-nál megáll egy hosszabb időre, majd visszaugrik 1%-ra és ez így megy a végtelenségig. Kipróbáltam 2.5 milliárdig a ciklust, ebben az esetben ez az érték 85%-ra adódott.
3 milliárd 71%-a 2 130 000 000, amíg 2.5 milliárd 85%-a 2 125 000 000, tehát az eltérés 5 000 000. A számok nagyságát tekintve ez igen kicsiny, szóval nekem ebből az következik, hogy a ciklus megközelítőleg a 2.12*10^9-es tartományban gőzöl be. Tudja valaki, hogy miért van ez így és hogy oldható ez meg? Egyszerűen nem értem, hogy ha jó 2.0 milliárdra, akkor miért nem jó 2.2 milliárdra...
Bár már találkoztam a C-nek különböző szépségeivel, sajnos még távolról sem értek hozzá olyan szinten, mint szeretnék.
Egyébként ennek lehet köze ahhoz, hogy milyen fordítót használok? Esetleg javasolhatnátok egyet-kettőt, igazán megköszönném. Jelenleg Pelles-t használok.
Este átírtam és elindítottam, aztán elmentem aludni, de reggel nem volt eredmény, mert nem jól írtam át.. :D
Most megcsináltam elvileg jól, de még csak 25%-on van.
Este még leszedtem a Microsoft Visual Studio C++-t, úgy ahogy van a teljes forráskódot átmásoltam Pellesből, de ott valamiért nem futott le, nem tudjátok véletlenül, hogy miért? Ugyan ez volt Dev C++-nál is.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!