Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 14 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 25.10.08
Prihlásený: 19.01.13
Príspevky: 4
Témy: 1
Príspevok NapísalOffline : 28.01.2009 20:35

prosim poviete mi niekto nieco o tejto premennej? doteraz som sa s nou nestretol ale teraz ju potrebujem lebo longint mi nestaci... bohuzial mi ju pascal nechce zobrat... dakujem :)


Offline

Skúsený užívateľ
Skúsený užívateľ
int64

Registrovaný: 11.01.09
Prihlásený: 24.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 28.01.2009 21:06

Int64 je 64 bitový (teda 8 bajtový) celočíselný dátový typ. Píšeš, že pascal ti ho nechce zobrať. Mohol si aspoň napísať, akú verziu pascalu používaš, pretože tento dátový typ je napr. v Delphi zavedený až od verzie 4 (v iných jazykoch netuším). Dúfam, že som ti aspoň trochu pomohol.

Skús sa ešte poprípade pozriet sem.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 25.10.08
Prihlásený: 19.01.13
Príspevky: 4
Témy: 1
Príspevok Napísal autor témyOffline : 28.01.2009 21:17

Turbo Pascal 7.0 nepojde to tu?


Offline

Skúsený užívateľ
Skúsený užívateľ
int64

Registrovaný: 11.01.09
Prihlásený: 24.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 28.01.2009 21:57

Fuuf, asi ťa sklamem, ale zrejme nepôjde :-) Keď potrebuješ súrne ukladať veľké čislo do premennej, tak sa to určite dá napríklad pospájaním viacerých premenných (ale to nie je veľmi profesionálne), alebo ešte lepšie priamym prístupom na danú pamäť, ktorú si vyhradíš a vyplníš ju postupne po 16 bitoch až do požadovanej veľkosti premennej (teda do 64 bitov). Hodil by som aj nejaký príklad, ale tak ja by som vedel iba vo vkladanom assembleri, ale určite ti niekto poradí lepší spôsob.


Offline

Užívateľ
Užívateľ
int64

Registrovaný: 19.09.06
Prihlásený: 21.04.24
Príspevky: 749
Témy: 31
Bydlisko: Ružomberok&...
Príspevok NapísalOffline : 29.01.2009 0:56

mozno by sa dal pouzit datovy typ realny, pricom by si pouzival nieco ako trunc(nazov_premennej) pre celociselny pristup k danej premennej. Ale teraz si nespomeniem na presnu velkost, ktory je 64bit, ale extended by mal byt 80 bitovy, ak nie je nejaky iny 64 bitovy.


Offline

Skúsený užívateľ
Skúsený užívateľ
int64

Registrovaný: 30.05.06
Prihlásený: 08.10.14
Príspevky: 1756
Témy: 35
Bydlisko: BA - WESTSIDE
Príspevok NapísalOffline : 29.01.2009 10:17

To by som nerobil, hrozí ti strata presnosti (pri počítaní s celočíselnými dátovými typmi je zaručená dokonalá presnosť operácii, ale "reálne" čísla majú úplne inú reprezentáciu FPNS, ktorá postupne kumuluje chyby).







_________________
A. S. Tanenbaum píše:
The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice.
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 25.10.08
Prihlásený: 19.01.13
Príspevky: 4
Témy: 1
Príspevok Napísal autor témyOffline : 29.01.2009 14:01

uf, no nevim co teda...

potreboval by som do nejakej premennej ulozit hodnotu P^R pricom plati
0<=P,R<=2^31 cize musi to zvladnut (2^31)^(2^31)

longint je malo


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.04.08
Prihlásený: 15.05.15
Príspevky: 884
Témy: 3
Príspevok NapísalOffline : 29.01.2009 14:21

Vies si predstavit kolko to je? To mas 2 147 483 648^2 147 483 648 - na ulozenie tohto cisla ti nepostaci ziadny datovy typ premennej... :D







_________________
Empty your memory, with a free()… like a pointer!
If you cast a pointer to an integer,
it becomes the integer, if you cast a pointer to a struct, it becomes the struct…
The pointer can crash…, and can overflow…
Be a pointer my friend…
Offline

Skúsený užívateľ
Skúsený užívateľ
int64

Registrovaný: 30.05.06
Prihlásený: 08.10.14
Príspevky: 1756
Témy: 35
Bydlisko: BA - WESTSIDE
Príspevok NapísalOffline : 29.01.2009 15:35

V tom prípade je načase siahnuť po nejakom lepšom algoritme, alebo programovacom nástroji. Napr. Python dokáže pracovať s "neobmedzene" veľkými celými číslami, prípadne sa dajú použiť nejaké dynamické štruktúry napr. v C++ (tuším sa to volá vector). Každopádne, obmedzenie je v pamäti tvojho počítača, no netrúfam si odhadnúť, koľko bajtov by zaberalo číslo (2^31)^(2^31).

A preto si myslím, že je najvyšší čas lepšie porozmýšľať nad algoritmom... Skús nejak načrtnúť tvoju úlohu a svoje riešenie a my ti s tým nejak pomôžeme.







_________________
A. S. Tanenbaum píše:
The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice.
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 25.10.08
Prihlásený: 19.01.13
Príspevky: 4
Témy: 1
Príspevok Napísal autor témyOffline : 30.01.2009 0:35

no je to na jednu sutaz... ono mozem pouzit bud pascal alebo c++, bohuzial v cecku zatial programovat neviem.. :(

no som si myslel ze takto to asi nepojde... ono dynamicke programovanie- smerniky, haldy a tak... to by to asi vyriesilo nie?

len keby som ich ja vedel :D
ok dakujem teda velmi pekne za to ze tomu aspon chapem trochu teraz a za ochotu :)


Offline

Skúsený užívateľ
Skúsený užívateľ
int64

Registrovaný: 11.01.09
Prihlásený: 24.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 30.01.2009 11:07

Ak ti stačí iba porovnanie čísel, tak to môžeš skúsiť pomocou logaritmov alebo skôr pomocou exponenciálnych rovníc. Upravíš základy na rovnaké číslo a už iba porovnáš exponenty. Na to ti bude hravo stačiť integer.


Offline

Užívateľ
Užívateľ
int64

Registrovaný: 14.07.08
Prihlásený: 28.01.21
Príspevky: 86
Témy: 15
Bydlisko: Bratislava
Príspevok NapísalOffline : 04.02.2009 22:42

Citácia:
nejaké dynamické štruktúry napr. v C++ (tuším sa to volá vector)


Stym sa to neda riesit, je to nieco ine nez si myslis. Vector je dynamicky kontajner.

Citácia:
ono dynamicke programovanie- smerniky, haldy a tak... to by to asi vyriesilo nie?


Nie.


Offline

Užívateľ
Užívateľ
int64

Registrovaný: 30.05.07
Prihlásený: 29.03.14
Príspevky: 641
Témy: 46
Príspevok NapísalOffline : 04.02.2009 23:55

dynamicke programovanie to imho dokaze, ked vie clovek ako to implementovat, takze aj vector z cpp aj pascalovske smerniky by to mohli zvladnut - alebo hovorite o niecom inom?


Offline

Užívateľ
Užívateľ
int64

Registrovaný: 14.07.08
Prihlásený: 28.01.21
Príspevky: 86
Témy: 15
Bydlisko: Bratislava
Príspevok NapísalOffline : 05.02.2009 14:26

IMHO Dynamcke programovanie to samo o sebe nevyriesi, je potreba urobit implementaciu mechanizmu ulozenia tak obrovskych cisiel a mechanizmus prace s nimi. Je len na tebe ci to implementujes pomocou haldy alebo zasobniku.

Kazdopadne co je dolezitejsie, pochybujem ze by to niekto robil takymto sposobom. Vo vedeckych aplikaciach sa urcite robi s nevypocitanymi vyrazmi. Tak ako bolo predomnou spravne povedane, nech skusi tazatel vykonat vypocty pomocou vyrazov.


Odpovedať na tému [ Príspevkov: 14 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. pascal int64

v Assembler, C, C++, Pascal, Java

3

363

16.05.2012 22:49

nBXXL Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Pascal - int64 a uint64

v Assembler, C, C++, Pascal, Java

1

209

27.02.2013 21:33

F3RY Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra