gmp_mod et modulo

pip
Invité n'ayant pas de compte PHPfrance

21 avr. 2006, 21:51

bonjour a tous, je suis tout nouveau en php et je souhaite utiliser gmp_mod, ce qui peut paraitre simple, mais pour moi je ne comprends rien, même en recopiant l'exemple du manuel, il y a une erreur, je souhaite savoir pourquoi.
De plus, je souhaite connaitre ce qu'affichera par exemple
<?
echo gmp_mod("-4","3");
?>
ca sera 2? Si oui, alors gmp_mod m'intéresse beaucoup.[/php]

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

21 avr. 2006, 22:06

Salut,
même en recopiant l'exemple du manuel, il y a une erreur
Et qui est ?

Sinon:
Ces fonctions ont été ajoutées en PHP 4.0.4.
Cette extension est disponible sur les plates-formes Windows depuis PHP 5.1.0.


Et si tu nous en disais plus, il y à peut être une autre façon de faire :-k

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

pip
Invité n'ayant pas de compte PHPfrance

22 avr. 2006, 20:32

Exemple 1. Exemple avec gmp_mod()
<?php
$mod = gmp_mod("8", "3");
echo gmp_strval($mod) . "\n";
?>

L'exemple ci-dessus va afficher :

2

Mais je crois qu'il y a une bibliotheque gmp a active ou quelque chose dugenre, alors si vous avez des precisions je suis preneur pasque, comme le dit le forum je debute, voila.

pip
Invité n'ayant pas de compte PHPfrance

22 avr. 2006, 20:40

j'ai une image php avec un cercle dont les coordonnees sont parametrables,et 4 liens: 2 pour la hauteuer, monter descendre, et 2 pour la progression , pour avancer et reculer, et quand on se retrouve a la fin de l'image, on change de vue et on repart de l'autre cote, tout va bien avec un % dans les positifs mais en negatif -1 % 5 donne 1 et non pas 4 comme je le souhaite, alors j'ai code quelque chosee de pas tres convaincant:
if ($x<=0)
{

echo (190-abs($x + 20)%190)%190;
}
else
{
echo ($x+20)%190;
}
echo '&y='.$y.'">x+1</a><br/>';

echo '<a href="page_plan.php?x=';
if ($x<0)
{

echo (190-abs($x)%190)%190;
}
else
{
echo ($x-20)%190;
}

ca ne fonctionne pas bien.

dsl j'ai fait un decoupae
Invité n'ayant pas de compte PHPfrance

22 avr. 2006, 20:43

echo '<a href="page_plan.php?x=';
if ($x<=0)
{

echo (190-abs($x + 20)%190)%190;
}
else
{
echo ($x+20)%190;
}
echo '&y='.$y.'">x+1</a><br/>';

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

22 avr. 2006, 22:33

ça nous aide pas franchement plus, en tout cas pas moi :?

les coordonnées négatives plantent le systeme abs() prend la valeur absolue ça ok mais après à quoi correspondent les valeurs (20, 190 ) ? :-k

de plus:
-1 % 5 donne 1 et non pas 4
même 1 % 5 ne donne pas 1
et
echo gmp_mod("-4","3");
ca sera 2?
pareil
4 % 3 ne fait pas non plus 2

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

pip
Invité n'ayant pas de compte PHPfrance

23 avr. 2006, 13:51

mon image fait 190 pixels de large donc , si on fait $x % 190, ca nous donne en gros $x modulo 190. A l'affichage, le personnage, represente par un cercle, au lieu de disparaitre au point 200 ( si le cercle vient du point ou $x=180, il appaaitra au point 200 % 190, donc 10, soit tout au debut de l'image, il aura donc traverse un champs et sera sur le deuxieme champs. Le personnage se deplace de 20.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

23 avr. 2006, 16:36

je sais pas si j'ai saisi mais je propose tout simplement:
echo '<a href="page_plan.php?x=';
if ($x<=0)
{
   $valeur_x = 190 + (($x + 20) % 190));
   echo $valeur_x;
}
else
{
   echo ($x+20)%190;
}
echo '&y='.$y.'">x+1</a><br/>';

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute