🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: alt.pl.comp.lang.csharp
8 messages
8 total messages Started by Grzegorz Mon, 28 Dec 2009 10:18
[OT] jak się liczy wielkie liczby?
#21297
Author: Grzegorz
Date: Mon, 28 Dec 2009 10:18
13 lines
1340 bytes
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.
Re: jak się liczy wielkie liczby?
#21298
Author: Maciek sq7obj
Date: Mon, 28 Dec 2009 14:10
3 lines
1226 bytes
http://www.codeproject.com/KB/cs/biginteger.aspx

Możliwe że BigFloat też jest. Zajrzyj w kod, może to Ci pomoże.
Re: [OT] jak się liczy wielkie liczby?
#21299
Author: Maciej Pilichowski
Date: Tue, 29 Dec 2009 07:31
10 lines
1456 bytes
On Mon, 28 Dec 2009 11:18:58 +0100, Grzegorz <brak@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
Re: [OT] jak się liczy wielkie liczby?
#21300
Author: Paweł Kierski
Date: Tue, 29 Dec 2009 08:43
20 lines
1668 bytes
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
     news@pkierski.net
Re: [OT] jak się liczy wielkie liczby?
#21302
Author: Marcin Kosobudzki
Date: Wed, 30 Dec 2009 19:16
18 lines
1913 bytes
On Mon, 28 Dec 2009 11:18:58 +0100, Grzegorz <brak@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ć.
Re: [OT] jak się liczy wielkie liczby?
#21303
Author: Paweł Kierski
Date: Thu, 31 Dec 2009 11:14
19 lines
1702 bytes
W dniu 2009-12-30 20:16, Marcin Kosobudzki pisze:
> On Mon, 28 Dec 2009 11:18:58 +0100, Grzegorz<brak@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
     news@pkierski.net
Re: [OT] jak się liczy wielkie liczby?
#21301
Author: Paweł Kierski
Date: Thu, 31 Dec 2009 11:17
24 lines
1860 bytes
W dniu 2009-12-29 09:43, Paweł Kierski pisze:
> 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...

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

-- 
     Paweł Kierski
     news@pkierski.net
Re: [OT] jak się liczy wielkie liczby?
#21304
Author: Marcin Kosobudzki
Date: Thu, 31 Dec 2009 16:02
9 lines
1228 bytes
On Thu, 31 Dec 2009 12:14:50 +0100, Paweł Kierski <news@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.
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads