Kezdőoldal » Számítástechnika » Programozás » Milyen változótípust használjak?

Milyen változótípust használjak?

Figyelt kérdés

Éppen szorzatpiramist készítek ANSI C nyelv segítségével. Az első sorban 100-tól 115-ig mennek a számok, a másodikban 100*101, 102*103, stb.

A negyedik sorban már akkora számok vannak, hogy a long típus nem elég neki, túlcsordul.

Próbáltam az unsigned longot, túlcsordul. Próbáltam a long longot, unsigned long longot. Minden esetben túlcsordul, ráadásul mindig ugyanazt a baromságot írja ki, pedig már a long longnak elégnek kéne lennie, 64 biten csak elfér az a szám...

Megnéztem, hogyan csináltuk anno gyakorlaton, ott long double volt a típus, de akkor meg nullát ír ki szorzatnak, az összes esetben. Gyakorlaton is azt írta ki.

Lehet hogy baromság, de még long long double-t is próbáltam :D


Miért ír ki a long double-nél nullát szorzatnak, és miért adja ugyanazt a túlcsordulási értéket a különböző típusmódosítóknál?



2014. dec. 28. 20:33
1 2
 11/12 anonim ***** válasza:
100%
Annyira azért nem jó, de legalább bejáratott, standard, garantáltan működő megoldás. Tízes számrendszerbeli számokat tárolsz karakterláncokban, a matematikai műveleteket pedig voltaképpen a "papíron végzett" logika mentén hajtod végre. Borzasztó lassú, viszont mindig pontos. Ha megengeded, javaslom többekközt a C# vagy a Java BigInteger típusának mélyrehatóbb tanulmányozását.
2014. dec. 30. 00:36
Hasznos számodra ez a válasz?
 12/12 A kérdező kommentje:
Köszönöm szépen a segítséget mindenkinek. :)
2014. dec. 30. 13:01
1 2

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!