Kezdőoldal » Számítástechnika » Programozás » Hogyan tudok pascal programozá...

Hogyan tudok pascal programozásban nagyon nagy változó típust megadni?

Figyelt kérdés
Egy tetszőlegesen nagy (szám)változó típust szeretnék megadni. A legnagyobb ilyen amit ismerek asz a longint. Valaki tudna segíteni?
2012. márc. 31. 13:48
 1/6 anonim ***** válasza:
Tetszőlegesen nagyot sehogy. De ha meg tudod előre becsülni, hogy mekkora kell, akkor szimplán kiszámolod, hogy mekkora tárhely kell a tárolásához, és dinamikusan lefoglalod neki a memóriát.
2012. márc. 31. 13:55
Hasznos számodra ez a válasz?
 2/6 zsomkovacs ***** válasza:
Láncolt listával megoldható. De lassú lesz. És bonyolult megírni. Milyen műveleteket kéne végezni vele? Mire kéne ez neked?
2012. márc. 31. 14:12
Hasznos számodra ez a válasz?
 3/6 2xSü ***** válasza:

A válasz attól is függ, hogy mire, milyen körülmények között akarod használni.


Ha csak a szám tárolásáról van szó, akkor a legegyszerűbb, ha byte-ok, illetve longint-ek tömbjeként kezeled a dolgot.


Ha számolni is akarsz vele, de megengedsz némi pontatlanságot, akkor érdemes lebegőpontos formátumot használni. Itt a pontatlanság abból fakad ugye, hogy ilyen formában tárolódik a szám:

1.23456789012 * 10^28

Ez a legtöbb esetben elég. Viszont ugye fenállhatnak ilyen anomáliák, hogy:

c:= 1.23456789012E+28

a:=1;

a:=a+c;

a:=a-c;

Ilyen esetben ugye a-ban 1-nek kellene szerepelnie, viszont mivel az értéktelen számjegyeket a számformátum nem tartalmazza, így az a:=a+c esetén az 1 kívül esik az értékes számjegyeken, így nem változtat az értéken.


Ha minden számjegy fontos, és a longint értékkészleténél nagyobb számot akarsz tárolni, valamint számolni is akarsz velük, akkor sajnos az összes műveletet neked kell leprogramoznod. Esetleg felhasználhatsz előre megírt unitokat is. (Lásd: Google, pl.: [link] )

2012. márc. 31. 14:18
Hasznos számodra ez a válasz?
 4/6 iostream ***** válasza:
Egyrészt van egy long long nevű típus, ami része a C és a C++ szabványnak is (nem tudom de milyen nyelvre gondoltál), de mivel nem adtál meg nyelvet: a Pythonban az alap int tetszőleges pontosságú.
2012. ápr. 1. 10:18
Hasznos számodra ez a válasz?
 5/6 anonim ***** válasza:
10:18: Olvasd csak el újra a kérdést. Addig ismételd, amíg meg nem találod benne a nyelvet...
2012. ápr. 1. 10:49
Hasznos számodra ez a válasz?
 6/6 iostream ***** válasza:
Esküszöm elolvastam többször is, de nem láttam. Biztos nem utólag került bele?
2012. ápr. 1. 12:06
Hasznos számodra ez a válasz?

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!