Linux Storm Forum

forum.linuxstorm.org
Teraz jest 6 wrz 2010, o 08:33

Wszystkie czasy w strefie UTC + 1 [czas letni (DST)]




Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 1 ] 
Autor Wiadomość
 Tytuł:
PostNapisane: 22 maja 2006, o 12:38 
Offline

Dołączył(a): 22 maja 2006, o 12:19
Posty: 4
Lokalizacja: Kraków
Witam.
Mam taki problem: podczas implementacji algorytmu RSA, musze wyliczać duże liczby pierwsze. Korzystam tu z liczb Mersenne'a postaci 2^x -1;
liczby te wyliczam za pomoca funkcji pow(2,x), a następnie odejmuję 1.
Sedno problemu tkwi w tym, że kiedy liczba 2^x jest naprawde duza np. 2^61 to odejmowanie "nie dziala".
Np. kaze wyswietlic pow(2, 61) i jest spoko: wyswietla 2305843009213693952. Ale kiedy chcę pomniejszyć ją o 1 to ciagle mam 2305843009213693952 zamiast 2305843009213693951.
Próbowałem już w różny sposób
jesli P jest typu double i podstawiam P= pow(2,61);
to później pomniejszam: P-=1 lub P-=1. lub P= P - (double)(1) i wiele innych tricków, ale ciagle nic.
Czy ktoś umiałby mi pomóc?? Z góry dziękuję.
Ps. jeśli to może być u żyteczne to dodam, że program kompiluję na gcc pod slacware,

_________________
...


Góra
 Zobacz profil  
 
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 1 ] 

Wszystkie czasy w strefie UTC + 1 [czas letni (DST)]


Kto przegląda forum

Użytkownicy przeglądający to forum: Brak zalogowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Przyjazne użytkownikom polskie wsparcie phpBB3 - phpBB3.PL
phpBB SEO