Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> modulo z liczb
pegass
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 17.12.2004

Ostrzeżenie: (0%)
-----


mam problem int jest ograniczony do 2147483647
a ja musze znalesc reszte z dzielenia
124020929319000000000001122500 przez 97 powinna wyjsc 13
$reszta = $cyfra % 97
daje wynik w int ;(
co jest dla mnie problemem
Go to the top of the page
+Quote Post
TomASS
post
Post #2





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Zobacz tutaj smile.gif


--------------------
Go to the top of the page
+Quote Post
pegass
post
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 17.12.2004

Ostrzeżenie: (0%)
-----


troszke mi to niebardzo pomogło
Go to the top of the page
+Quote Post
TomASS
post
Post #4





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


To może to Ci pomoże.
Cytat
W trakcie obliczeń należy podzielić długi ciąg cyfr na mniejsze porcje i na nich zrobić obliczenia w trybie tak jak to się robi na papierze. Maksymalna liczba cyfr w podzielonych liczbach zależy od typu całkowitoliczbowego jaki wybierzemy do reprezentacji tych liczb.

Przykład:
  123456789012  dzielimy na dwie liczby:
  123456  i  789012
  123456 MOD 97 = 72 
resztę z dzielenia dopisujemy na początku drugiego kawałka
72789012 MOD 97 = 18  to jest właśnie wynik dzielenia
całkowitego liczby 123456789012 przez 97


--------------------
Go to the top of the page
+Quote Post
pegass
post
Post #5





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 17.12.2004

Ostrzeżenie: (0%)
-----


zrobilem to na bcmod ale dalej mi wychodz 5 zamiast 13 ;(

sorki
moj blad zamiast 122500 mialo byc 212500
bcmod jest dosyc dobry smile.gif
polecam ewentualnie na necie znalazłem:
function my_bcmod( $x, $y )
  1. <?php
  2. {
  3.  $take = 5;
  4.  $mod = '';
  5.  
  6.  do
  7.  {
  8.  $a = (int)$mod.substr( $x, 0, $take );
  9.  $x = substr( $x, $take );
  10.  $mod = $a % $y;
  11.  }
  12.  while ( strlen($x) );
  13.  
  14.  return (int)$mod;
  15. }
  16. ?>


co tez działa

Ten post edytował pegass 23.03.2006, 22:10:06
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 06:21