gmp_setbit
(PHP 4 >= 4.0.4, PHP 5)
gmp_setbit — Modifie un bit
Description
&$a
, int $index
[, bool $bit_on = true
] )
Modifie le bit index
dans a.
Liste de paramètres
-
a -
La valeur à modifier.
Il peut être soit une ressource GMP, soit une chaîne numérique qu'il est possible de convertir plus tard en un nombre.
-
index -
L'index de l'octet à définir. L'index 0 représente l'octet le moins significatif.
-
bit_on -
TRUEpour définir l'octet (défini à 1/on) ;FALSEpour le ré-initialiser (défini à 0/off).
Valeurs de retour
Une ressource GMP.
Exemples
Exemple #1 Exemple avec gmp_setbit() - index 0
<?php
$a = gmp_init("2"); //
echo gmp_strval($a), ' -> 0b', gmp_strval($a, 2), "\n";
gmp_setbit($a, 0); // 0b10 devient maintenant 0b11
echo gmp_strval($a), ' -> 0b', gmp_strval($a, 2), "\n";
?><?php
$a = gmp_init("0xfd");
echo gmp_strval($a), ' -> 0b', gmp_strval($a, 2), "\n";
gmp_setbit($a, 1); // index commence à 0
echo gmp_strval($a), ' -> 0b', gmp_strval($a, 2), "\n";
?><?php
$a = gmp_init("0xff");
echo gmp_strval($a), ' -> 0b', gmp_strval($a, 2), "\n";
gmp_setbit($a, 0, false); // clear bit at index 0
echo gmp_strval($a), ' -> 0b', gmp_strval($a, 2), "\n";
?>L'exemple ci-dessus va afficher :
255 -> 0b11111111 254 -> 0b11111110
Notes
Note:
Contrairement à la plupart des autres fonctions GMP, gmp_setbit() doit être appelée avec une ressource GMP existant déjà (en utilisant gmp_init() par exemple). Elle ne sera pas automatiquement créée.
