C ben sok szám kezelése? Hogyan?
ki kellene írni egy nagyon hosszú számot de nem tudom hogyan.
pl.:
"int a=10000000000000000000000000000000;
printf ("%d",a);"
de ugye -2147483648 at ír ki.
Hogyan tudom megoldani a próblémát?
Az egymillió kisebb, mint az int értéktartománya, annak ki kell íródnia.
Használj long-ot, annak még nagyobb az értékkészlete, ha az is kevés, akkor double, ha még ez is kevés, akkor olyan libet keress, ami kifejezetten nagy számok kezelésére való!
Ott csak alsó korlátot ad rá, nem? (Nem a legjobb az angol tudásom, de az "at least" szerintem "legalább"-ot jelent.)
Legalábbis én úgy tanultam, hogy a char mérete fix, a többire csak relációk vannak megadva és az implementációtól függnek. Bár az inkább C++ volt...
De, az egy alsó korlát. Jellemzően az int 32 bites, ez a hagyomány. Mármint desktopon. Másik jellemző hogy kettes komplemensű az ábrázolás, tehát -2147483648-től 2147483647-ig.
Amúgy ha nagyon nagy számot akarsz kiírni, arra írni kell egy saját típust. Viszont literált (tehát amit beleírsz a kódba, hogy 100000) nem fogsz tudni használni.
Amúgy azért tűnik egymilliónak a kérdező kódja, mert a gyakorikérdések lenyeli a túl hosszú cuccok végét.
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!