gmp_scan1
gmp_sign
Fonctions GMP
PHP Manual

# gmp_setbit

(PHP 4 >= 4.0.4, PHP 5)

gmp_setbit — Modifie un bit

### Description

void gmp_setbit ( resource `&$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";
?>`

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

### Voir aussi

- gmp_clrbit() - Annule un octet
- gmp_testbit() - Teste si un octet est défini

gmp_scan1
gmp_sign
Fonctions GMP
PHP Manual