Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1

Użytkownik


Narazie rozkminilem dodawanie:
function pk_sum($a, $b)
{
do
{
$c = (($a & $b) << 0x01);
$a = ($a ^ $b);
$b = $c;
} while ($c);
return $a;
}Jak ktos wie jak zrobic to szybciej i czy w ogole to jest szybsze niz "standardowe" dodawanie to niech sie pochwali swoja wiedza :)
PS. To jest jak widac kod PHP i fajnie by bylo gdybyscie podawali przyklady pod PHP :)
Offline

Członek DUG


mnozenie metoda "rosyjsch chlopow" (zwana tez "egipskich wiesniakow" badz "pruskich chlopow")
function mul($a, $b) {
$c = 0;
while($b) {
if ($b % 2) $c = pk_sum($a, $c);
$a = $a << 0x01;
$b = $b >> 0x01;
}
return $c;
}
dziala dla b nieujemnego!
nigdy nie pisalem w php wiec moze da sie uproscic
co do dodawania i jego efektywnosci:
dla procesorow CISC dodawanie jest 1 instukcja, jest szybkie, zoptymalizowane i moim zdaniem Twoje rozwiazanie nie bedzie efektywniejsze. na procesorach RISC dodawanie tez jest 1 instrukcja i tu na pewno Twoje rozwiazanie bedzie wolniejsze.
definiowanie w ten sposob operacji jest przydatne przy tworzeniu wlasnej arytmetyki operujacej np na duzych liczbach.
Offline

Użytkownik


Czyli ze moge spobie podarowac bo i tak "standardowe" operacje arytmetyczne sa szybciej realizowane niz taka zabawa z operatorami bitowymi :>
Dzieki Odd, czulem ze taki bedzie koniec tej zabawy ale nie spodziewalem sie ze tak szybko :P
Offline

Członek DUG


robimy dalej, teraz Twoja kolej robisz calkowanie bitowo (:
Offline

Członek DUG


robimy dalej, teraz Twoja kolej robisz calkowanie bitowo (:
Wystarczy wziac jakas kwadraturke (np. Simpsona) i wszystko sprowadza sie do mnozenia i dodawania. Jak juz sie umie dodawac, odejmowac, mnozyc i dzielic to juz wszystko mozna ;-)
Offline

Członek DUG


tylko ze nie mamy jeszcze mnozenia i dodawania dla liczb o zmiennym przecinku, a calkowanie na calkowitych jest troche niedokladne
Offline
Strony: 1