GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: scott1 le 08 Novembre 2010, 17:29:37
-
Bonjour à toutes et à tous,
existe t il une fonction samp pour savoir si un nombre est pair ou non.
Merci d'avance
-
Salut,
tu peut simplement faire ceci:
if(valeur & 1)
le bit correspondant à 1 est le seul qui soit "impair", les autres sont tous pairs (2, 4, 8, 16 ...)
++Sim++
-
ou bien
if( valeur % 2 == 0 )
{
// Pair
}
else
{
// Impair
}
-
ou bien
if( valeur % 2 == 0 )
{
// Pair
}
else
{
// Impair
}
heu tu est sur ? Oo
++C30
-
Bah oui tout les nombre pari sont divisible par 2 sans avoir de reste =)
-
mais sa donne le reste ? je pensait que sa nous donnée le résultat de la divisons ^^
++C30
-
Salut,
le résultat de la division:
résultat = valeur / diviseur;
Reste de la division:
résultat = valeur % diviseur;
NB. Le code que j'ai donné est plus rapide que le modulo (reste de la division) car il s'agit d'une simple opération sur un bit, donc très rapide. Le modulo sous entend l'exécution d'une division qui est beaucoup plus complexe. Toutefois, pour un petit volume de calcul, la différence n'est pas visible.
++Sim++
-
Merci sim :)
comme quoi on en apprend tous les jours ^^
++C30
-
Salut,
tu peut simplement faire ceci:
if(valeur & 1)
le bit correspondant à 1 est le seul qui soit "impair", les autres sont tous pairs (2, 4, 8, 16 ...)
++Sim++
Ceci est donc le mieux, mais peut tu m'expliquer ce que ça fait concretement? Pour eviter un bete copier collé
-
En base 10, tous les nombres multiples de 10 finissent par un 0.
En base 2, tous les nombres multiples de 2 finissent par un 0.
NB : Plus généralement, en base X, tous les nombres multiples de X finissent par un 0.
Donc en base 2 (binaire), les nombres pairs (multiples de 2) se termine par un 0 (dernier bit du nombre).
L'expression valeur & 1 (comparaison bit à bit) permet de comparer le dernier bit de la variable valeur à 1.
Si ce bit est à 1, valeur & 1 vaut 1.
Si ce bit est à 0, valeur & 1 vaut 0 ce qui indique que valeur est pair.
++
Syg
-
Voila un joli tableau vous montrant que tout les nombres pair ont le premier bit ( Celui qui est à droite ) à 0.
(http://techno-science.net/illustration/Multimedia/Compression_images/Img/Tableau2.jpg)
-
Voila un joli tableau vous montrant que tout les nombres pair ont le premier bit ( Celui qui est à droite ) à 0.
Le bit le plus à droite est considéré comme le dernier bit, comme dans un nombre, le chiffre le plus à droite est considéré comme le dernier chiffre.
Les bits situés à droite d'un nombre binaire sont appelés bits de poids faible (bits les moins significatifs). Les autres bits (ceux de gauche) sont appelé bits de poids fort (bits les plus significatifs).
++
Syg