gmp_setbit

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_setbitModifie un bit

Description

gmp_setbit(GMP$num, int$index, bool$value = true): void

Modifie le bit index dans num.

Liste de paramètres

num

Un objet GMP

index

L'index de l'octet à définir. L'index 0 représente l'octet le moins significatif.

value

true pour définir l'octet (défini à 1/on) ; false pour le ré-initialiser (défini à 0/off).

Valeurs de retour

Un objet 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";
?>

L'exemple ci-dessus va afficher :

2 -> 0b10 3 -> 0b11

Exemple #2 Exemple avec gmp_setbit() - index 1

<?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";
?>

L'exemple ci-dessus va afficher :

253 -> 0b11111101 255 -> 0b11111111

Exemple #3 Exemple avec gmp_setbit() - annule un octet

<?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 un objet GMP existant déjà (en utilisant gmp_init() par exemple). Elle ne sera pas automatiquement créée.

Voir aussi

To Top