Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Reszta z dzielenia
Forum PHP.pl > Forum > Przedszkole
bartisz
witam
napisałem taki prosty algorytm:
  1. <?php
  2. $x=-7;
  3. for($i=-9;$i<=9;$i++){
  4. $wynik=$i%3;
  5. echo "Dla ".$i." reszta ".$wynik."<br>";
  6. }
  7. ?>


Przyjmuje się, że reszta powinna mieć znak taki jak dzielnik. Przy liczbach dodatnich wszystko się zgadza, jednak przy ujemnych pojawia się problem, ponieważ reszta jest ujemna. Dlaczego tak jest? Błąd interpretera?

proszę o pomoc
pozdrawiam
darko
Wynika to z działania operatora modulo

Cytat
Note: Remainder $a % $b is negative for negative $a.


Zawsze można przypisać wartość bezwzględną abs
zegarek84
Cytat(bartisz @ 1.12.2009, 17:04:50 ) *
Przyjmuje się, że reszta powinna mieć znak taki jak dzielnik....

NAPRAWDĘ?? - dzięki, nie wiedziałem ;p
Cytat(bartisz @ 1.12.2009, 17:04:50 ) *
Przy liczbach dodatnich wszystko się zgadza, jednak przy ujemnych pojawia się problem, ponieważ reszta jest ujemna. Dlaczego tak jest? Błąd interpretera?

ekhm - jakoś mnie nie przekonałeś ;p
umiesz dzielić długie liczby przez duże liczby "ręcznie" w "słupku" - może podziel ujemną przez dodatnią taką, żeby była reszta - jaka reszta wychodzi??

a jak potrzebujesz zawsze dodatnią resztę to weź to obłóż wartością bezwzględną winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.