| | |
| Stránka: 1 z 1
| [ Príspevkov: 14 ] | |
Autor | Správa |
---|
Registrovaný: 25.10.08 Prihlásený: 19.01.13 Príspevky: 4 Témy: 1 |
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
|
|
Registrovaný: 11.01.09 Prihlásený: 24.04.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | Napísal Fico: 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.
|
|
Registrovaný: 25.10.08 Prihlásený: 19.01.13 Príspevky: 4 Témy: 1 |
Turbo Pascal 7.0 nepojde to tu?
|
|
Registrovaný: 11.01.09 Prihlásený: 24.04.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | Napísal Fico: 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.
|
|
Registrovaný: 19.09.06 Prihlásený: 21.04.24 Príspevky: 749 Témy: 31 Bydlisko: Ružomberok&... |
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.
|
|
Registrovaný: 30.05.06 Prihlásený: 08.10.14 Príspevky: 1756 Témy: 35 Bydlisko: BA - WESTSIDE | Napísal p360t: 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. |
|
Registrovaný: 25.10.08 Prihlásený: 19.01.13 Príspevky: 4 Témy: 1 |
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
|
|
Registrovaný: 30.04.08 Prihlásený: 15.05.15 Príspevky: 884 Témy: 3 |
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...
_________________ 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… |
|
Registrovaný: 30.05.06 Prihlásený: 08.10.14 Príspevky: 1756 Témy: 35 Bydlisko: BA - WESTSIDE | Napísal p360t: 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. |
|
Registrovaný: 25.10.08 Prihlásený: 19.01.13 Príspevky: 4 Témy: 1 |
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
ok dakujem teda velmi pekne za to ze tomu aspon chapem trochu teraz a za ochotu
|
|
Registrovaný: 11.01.09 Prihlásený: 24.04.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | Napísal Fico: 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.
|
|
Registrovaný: 14.07.08 Prihlásený: 28.01.21 Príspevky: 86 Témy: 15 Bydlisko: Bratislava |
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.
|
|
Registrovaný: 30.05.07 Prihlásený: 29.03.14 Príspevky: 641 Témy: 46 |
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?
|
|
Registrovaný: 14.07.08 Prihlásený: 28.01.21 Príspevky: 86 Témy: 15 Bydlisko: Bratislava |
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.
|
|
| Stránka: 1 z 1
| [ Príspevkov: 14 ] | |
| 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
|
|