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
-
TRUE
pour définir l'octet (défini à 1/on) ;FALSE
pour 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.