Kezdőoldal » Tudományok » Természettudományok » Egy 100millió karakterű...

Egy 100millió karakterű számot hány biten lehet tárolni?

Figyelt kérdés
és van-e bármilyen programozási nyelven olyan egész típusú változó ami ezt a hatalmas számot képes lenne tárolni? meg gondolom már a memória is kevés lenne egy átlag gépben.
2011. máj. 10. 21:17
1 2
 11/17 anonim ***** válasza:

ma 12:58-as hozzászóló!

(ma 15:02-es hozzászóló vagyok = előző)


A szabványos lebegőpontos számábrázolási módok se tetszőleges nagyságú számokat tárolnak. Nem ismerem a pyton-t, de 99% hogy nem fogja neked a fordítója ezt normálisan megcsinálni és tán még hibát se fog kiírni...


A Matlab-ot, meg ezeket valszeg' úgy írták meg, hogy tetszőleges nagyságú számot tud használni, letárolni (csak közben zabálja a memóriát... :-D). De el tudom képzelni, hogy ott is valamit trükközni kell ekkora számoknál, hogy ne kapjon hülyét a program.

2011. máj. 11. 15:17
Hasznos számodra ez a válasz?
 12/17 A kérdező kommentje:
és egy ekkora számmal a számítógép már elég lassan tud számolni ugye? de ez már megnyugtató, hogy elfogadható memóriát használ "csak". egy kicsit jobban értő ember megsaccolná nekem hogy mennyi időbe telne egy ekkora számról eldönteni, hogy prím-e vagy sem ? (2,8Ghz-es 4 magos processzor, 2*2 ddr3-as memória) egy ugye ennek a gyöke kb 50millió karakteres?
2011. máj. 11. 21:45
 13/17 anonim ***** válasza:

15:17 Pythonban, mint fentebb is írtam, egy long nevű EGÉSZ típus van, ami _tetszőleges_ hosszúságú. Nem lebegőpontos.

Próbáld ki, persze elég nagy számnál már lassú lesz a műveletvégzés.


Ha nem ismered a Pythont, és ráadásul kifejezetten írtam, hogy tetszőleges pontosságú akkor minek okoskodsz bele?

2011. máj. 12. 08:07
Hasznos számodra ez a válasz?
 14/17 anonim ***** válasza:

ma 08:07-es hozzászóló!


tegmap 15:02-es, illetve tegnap 15:17-es hozzászóló vagyok! (az okoskodó)


Mondtam, hogy nem ismerem a Pythont és nem is 100%-osan jelentettem ki, amit kijelentettem.


Egyébként mindennek van határa (kivéve az űrnek és az emberi hülyeségnek :-D). Egyszer csak elfogy a memóriának a helye, meg az egyéb háttértárolók kapacitása... :-P

2011. máj. 12. 18:25
Hasznos számodra ez a válasz?
 15/17 anonim ***** válasza:

Ismét én vagyok... még az első oldalon lévő hozzászólásodra reagálva még...


100 millió számjegyből álló decimális számot akar leképezni a kérdező. Nem pedig 100 milliót...

Matematikailag nem 10^8 nagyságrendű decimális számot, hanem 10^(10^8) nagyságrendű decimális számot.


Ergo akkora számot, amekkorával még senki se számolt semmit.


És nem tudom, hogy tudod-e hogy képezi le azt a bazi hosszú számot neked a Phyton...


LEHET, hogy integereket pakolgat egymás mellé, amiket egy másik integerrel "címez", hogy éppen melyik-melyik... (hogy tudjon vele pl. számolni) (((nem ismerem, a függvényei felépítését, csak tippeltem egyet))). Ha pl. így van megoldva benne, akkor is (2^15)^(2^15) számot képezne le maximum, ami szintén bazi nagy szám, de még nem akkora. Viszont olyan bazi nagy, hogy azt lehet rá mondani, hogy "akármekkora".


Tudod hogyan írták meg a Phyton fordítóját? Mert én nem. És szerintem te sem.

2011. máj. 12. 18:53
Hasznos számodra ez a válasz?
 16/17 anonim ***** válasza:

Igazából szerintem az összes Python fordító opensource, szóval akár meg is nézheted. De valószínűleg valamiféle tömbben tárolja a számjegyeket, legyen az akármilyen számjegy (decimális, 8 bites (azaz 256-os számrendszer beli), 32 bites (azaz ~4 millárdos számrendszer), 64, akármi). Mint fentebb kiszámoltuk, ha 1 byte 1 számjegy, azaz szöveg formában tárolod, akkor lesz 95 MByte. Ami nem sok. 32 bittel simán megcímzel 4 GByte-t. És nyílván nem szövegesen tárolod le.


Ne hitetlenkedj meg tippelj, már kiszámoltuk előtted a frankót.

2011. máj. 12. 20:24
Hasznos számodra ez a válasz?
 17/17 anonim válasza:

Kiszámoltam és ha mindenféle trükközés nélkül szeretnéd tárolni, akkor minimum 332 192 807 bitnyi hely kellene ahhoz, hogy egyáltalán tudj tárolni 100 millió számjeggyel rendelkező decimális számot.


Ha plusz 3 bitet hozzácsapsz, akkor már az összes létező 100 millió számjegyből álló decimális szám értékét tárolni tudod, és a 100 millió+1 db számjeggyel rendelkező decimális számok közül is "néhányat".

2017. ápr. 9. 23:45
Hasznos számodra ez a válasz?
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!