[Pascal] zbyt du?że liczby

0

napisałem prog który liczy mi symbol newtona-tak pozawijałem algorytm, by od rauz skracał możliwe liczby i by potem dzielenie nie musiało być wykonywane na zbyt dużych zmiennych.. jednak gdy n jest o wiele większe od k (np n=46, k=20), to program tak czy siak musi pod zmienną trzymającą wart licznika podstawić liczbę większą niż mieszczącą się w typie LongInt.. Prog ten piszę na potrzeby pewnej stronki (http://k42195.lo2.opole.pl/), przez której filtry nie przechodzą słówka kluczowe trybu 8087 (np extended czy single)-nie mogę więc ich użyć.. Czy istnieje jeszcze jakis typ zmiennych (bez bibliotek) mających większą pojemność niż 4 bajtowe LongInt?
(jak ktoś chce to proszę spojrzeć na http://k42195.lo2.opole.pl/pascal?zad+zad525 -mowa tam o niejakim DWord-chodzi tu może o wrzucenie do prog elementów assemblera? ) z góry thx za pomoc

0

QWord to jak nazwa wskazuje poczwórne słowo, czuli 4*2 = 8 bajtów
To może spróbuj tab:array[0..2] of longInt, albo wstaw asma jak znasz

0

asm-a w ogóle nie znam-nie mam pojęcia zielonego o co tam chodzi [???] (poza tymto cholera wie czy ten filtr przełknie asm..)

co do tablicy to spróbowałem, ale jakoś nie może mi wyjść wszystko tak jak powinno :(-może zrobiłem gdzieś błąd czy cuś-nie wiem :(
lecz wciąż nie mogę zrozumieć tej wskazówki z typem: dword.. cholera wie co to jest-nigdy i nigdzie nie spotkałem się w czystym TP z takim typem zmiennej..
pomóżcie proszę..

0

asm-a w ogóle nie znam-nie mam pojęcia zielonego o co tam chodzi [???] (poza tymto cholera wie czy ten filtr przełknie asm..)

co do tablicy to spróbowałem, ale jakoś nie może mi wyjść wszystko tak jak powinno :(-może zrobiłem gdzieś błąd czy cuś-nie wiem :(
lecz wciąż nie mogę zrozumieć tej wskazówki z typem: dword.. cholera wie co to jest-nigdy i nigdzie nie spotkałem się w czystym TP z takim typem zmiennej..
pomóżcie proszę..

Bo DWORD to typ z WinAPI. Chyba jest równy Longint, ale nie dam głowy, więc poprawiajcie mnie :)

0

zrob to na stringach.
zyskasz mozliwosc zapanowania nad liczbami 255cyfrowymi.
napiszesz algorytmy podstawowe dodawani, odejmowania, potem mnozenia i dzielenia i robisz dalej to co robic chciales.
jak takie cos napisac?
tego ucza w podstw. na lekcjach matematyki, teraz tylko te schematy zapisz w pascalu :)

0

dword.. cholera wie co to jest-nigdy i nigdzie nie spotkałem się w czystym TP z takim typem zmiennej..

Bo DWORD to typ z WinAPI. Chyba jest równy Longint, ale nie dam głowy, więc poprawiajcie mnie

DWORD to liczba 32-bitowa bez znaku (unsigned).
DWORD = Cardinal

0

dword.. cholera wie co to jest-nigdy i nigdzie nie spotkałem się w czystym TP z takim typem zmiennej..

Bo DWORD to typ z WinAPI. Chyba jest równy Longint, ale nie dam głowy, więc poprawiajcie mnie

DWORD to liczba 32-bitowa bez znaku (unsigned).
DWORD = Cardinal

Możliwe :) Dzięki za poprawkę :)

0

zrob to na stringach.
zyskasz mozliwosc zapanowania nad liczbami 255cyfrowymi.
napiszesz algorytmy podstawowe dodawani, odejmowania, potem mnozenia i dzielenia i robisz dalej to co robic chciales.
jak takie cos napisac?
tego ucza w podstw. na lekcjach matematyki, teraz tylko te schematy zapisz w pascalu :)

Albo jeszcze lepiej na tablicy bajtów - mniejsze marnotrastwo pamięci i efekt jest łatwiej rozumiany(mniej kodu) przez asm.</quote>

0

nie otwierajcie otwartych drzwi - biblioteka vlong w dziale TP/Download.

0

jak już wcześniej napisałem biblioteki nie mogą być użyte w programie-odpada ;)
ale pokombinuję przez weekend coś z tymi stringami :)
dzięki za porady :)

0

przecież masz kod źródłowy, możesz sobie go przekleić do programu i będzie bez biblioteki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1