Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[OT] jak się liczy wielkie liczby?

2 views
Skip to first unread message

Grzegorz

unread,
Dec 28, 2009, 5:18:58 AM12/28/09
to
Witam
Tak mnie nasz�o, je�eli zmienna np: float ma ograniczon� wielko��, to w
jaki spos�b liczy si� wielkie liczby, np. liczba PI do milionowego
miejsca po przecinku?

W mojej filozofii robi si� to tak, �e dzieli si� liczb� na kilkana�cie
zmiennych i na ostatniej wykonuje si� obliczenia, po czym je�li zachodzi
konieczno�� zwi�ksza si� poprzedzaj�c�, p�niej poprzedzaj�c�
poprzedzaj�c� itd. Ale to chyba nie takie rozwi�zanie?

Wi�c jak doda� dwie liczby, kt�re maj� po np. 200 cyfr?

Pozdrawiam, Grzegorz.

Maciek sq7obj

unread,
Dec 28, 2009, 9:10:08 AM12/28/09
to
http://www.codeproject.com/KB/cs/biginteger.aspx

Możliwe że BigFloat też jest. Zajrzyj w kod, może to Ci pomoże.

Maciej Pilichowski

unread,
Dec 29, 2009, 2:31:00 AM12/29/09
to
On Mon, 28 Dec 2009 11:18:58 +0100, Grzegorz <br...@maila.pl> wrote:

>W mojej filozofii robi się to tak, że dzieli się liczbę na kilkana¶cie
>zmiennych i na ostatniej wykonuje się obliczenia, po czym je¶li zachodzi
>konieczno¶ć zwiększa się poprzedzaj±c±, póĽniej poprzedzaj±c±
>poprzedzaj±c± itd. Ale to chyba nie takie rozwi±zanie?

Trzyma sie w tablicy, a nie osobnych zmiennych.

milego dnia, hej

Paweł Kierski

unread,
Dec 29, 2009, 3:43:39 AM12/29/09
to
Grzegorz wrote:
> Witam
> Tak mnie naszło, jeżeli zmienna np: float ma ograniczoną wielkość, to w
> jaki sposób liczy się wielkie liczby, np. liczba PI do milionowego
> miejsca po przecinku?
>
> W mojej filozofii robi się to tak, że dzieli się liczbę na kilkanaście
> zmiennych i na ostatniej wykonuje się obliczenia, po czym jeśli zachodzi
> konieczność zwiększa się poprzedzającą, później poprzedzającą
> poprzedzającą itd. Ale to chyba nie takie rozwiązanie?
>
> Więc jak dodać dwie liczby, które mają po np. 200 cyfr?

Dla C/C++ jest GMP ( http://gmplib.org/ ) - nie wiem, czy ktoś
pokusił się o wrapper dla C#. Wprawdzie google podpowiedziały jeden
wątek, gdzie gość chwalił się, że napisał, ale docelowo było 404...

--
Paweł Kierski
ne...@pkierski.net

Marcin Kosobudzki

unread,
Dec 30, 2009, 2:16:01 PM12/30/09
to
On Mon, 28 Dec 2009 11:18:58 +0100, Grzegorz <br...@maila.pl> wrote:

>Wi�c jak doda� dwie liczby, kt�re maj� po np. 200 cyfr?

Ponad 10 lat temu bawi�em si� z koleg� w szukanie najwi�kszej liczby
pierwszej (by�a du�a nagroda :), musielismy wi�c w naszych algorytmach
operowa� na liczbach sk�adaj�cych si� z dziesi�tek tysi�cy cyfr. Du�o
si� nie wysilaj�c napisali�my sobie banaln� bibliotek� wykonuj�c�
podstawowe dzia�ania arytmetyczne na liczbach reprezentowanych przez
listy. Ka�da cyferka w oddzielnym elemencie listy, listy niesko�czonej
d�ugo�ci... a metody wykonuj�ce dzia�ania robi�y to tak, jak si� to
robi na papierze za pomoc� o��wka (w s�upkach). Odpowiednie metody
numeryczne i liczyli�my te� pierwiastki, logarytmy i co tylko nam by�o
potrzebne. Ogranicza�a nas tylko pami�� (~4-8MB) i pr�dko�� naszych
prock�w (~33Mhz). Mo�e to by�o i g�upie, troche naiwne, bo �eby co�
ciekawego osi�gn�� napewno trzeba by do tego inaczej podej��, ale
zabawa by�a przednia. Liczy� si� fakt, �e ��glowali�my liczbami
kt�rych nikt nie potrafi� nazwa�.

Paweł Kierski

unread,
Dec 31, 2009, 6:14:50 AM12/31/09
to
W dniu 2009-12-30 20:16, Marcin Kosobudzki pisze:

> On Mon, 28 Dec 2009 11:18:58 +0100, Grzegorz<br...@maila.pl> wrote:
>
>> Wi�c jak doda� dwie liczby, kt�re maj� po np. 200 cyfr?
>
> Ponad 10 lat temu bawi�em si� z koleg� w szukanie najwi�kszej liczby
> pierwszej (by�a du�a nagroda :), musielismy wi�c w naszych algorytmach
> operowa� na liczbach sk�adaj�cych si� z dziesi�tek tysi�cy cyfr. Du�o
> si� nie wysilaj�c napisali�my sobie banaln� bibliotek� wykonuj�c�
> podstawowe dzia�ania arytmetyczne na liczbach reprezentowanych przez
> listy.
[...]

Hmmm... szkoda, �e z internetem by�o wtedy w Polsce tak sobie - GMP
istnieje juďż˝ ok. 18 lat... 8-)

--
Paweďż˝ Kierski
ne...@pkierski.net

Paweł Kierski

unread,
Dec 31, 2009, 6:17:33 AM12/31/09
to
W dniu 2009-12-29 09:43, Paweł Kierski pisze:

Znalazłem via angielska Wikipedia:
http://www.emilstefanov.net/Projects/GnuMpDotNet/

--
Paweł Kierski
ne...@pkierski.net

Marcin Kosobudzki

unread,
Dec 31, 2009, 11:02:58 AM12/31/09
to
On Thu, 31 Dec 2009 12:14:50 +0100, Paweďż˝ Kierski <ne...@pkierski.net>
wrote:

> Hmmm... szkoda, �e z internetem by�o wtedy w Polsce tak sobie - GMP
>istnieje juďż˝ ok. 18 lat... 8-)

Faktycznie, by�y to czasy gdy nie mieli�my poj�cia o internecie, poza
tym byli�my pascalowi (w�tpie aby by� wraper 8-), a nawet gdyby by�,
to nie by�o by ju� takiej zabawy.

0 new messages