gmp_setbit

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

gmp_setbitSet bit

Descrierea

gmp_setbit ( GMP $a , int $index [, bool $bit_on = TRUE ] ) : void

Sets bit index in a.

Parametri

a

The value to modify.

Un număr GMP sub formă de resource în PHP 5.5 și anterior, un obiect GMP în PHP 5.6 și ultrior, su un șir de caractere numeric atunci când acesta poate fi convertit într-un număr.

index

The index of the bit to set. Index 0 represents the least significant bit.

bit_on

True to set the bit (set it to 1/on); false to clear the bit (set it to 0/off).

Valorile întoarse

Un număr GMP sub formă de resource în PHP 5.5 și anterior, sau obiect GMP în PHP 5.6 și ulterior.

Exemple

Example #1 gmp_setbit() example - 0 index

<?php
$a 
gmp_init("2"); //
echo gmp_strval($a), ' -> 0b'gmp_strval($a2), "\n";
gmp_setbit($a0); // 0b10 now becomes 0b11
echo gmp_strval($a), ' -> 0b'gmp_strval($a2), "\n";
?>

Exemplul de mai sus va afișa:

2 -> 0b10
3 -> 0b11

Example #2 gmp_setbit() example - 1 index

<?php
$a 
gmp_init("0xfd");
echo 
gmp_strval($a), ' -> 0b'gmp_strval($a2), "\n";
gmp_setbit($a1); // index starts at 0
echo gmp_strval($a), ' -> 0b'gmp_strval($a2), "\n";
?>

Exemplul de mai sus va afișa:

253 -> 0b11111101
255 -> 0b11111111

Example #3 gmp_setbit() example - clearing a bit

<?php
$a 
gmp_init("0xff");
echo 
gmp_strval($a), ' -> 0b'gmp_strval($a2), "\n";
gmp_setbit($a0false); // clear bit at index 0
echo gmp_strval($a), ' -> 0b'gmp_strval($a2), "\n";
?>

Exemplul de mai sus va afișa:

255 -> 0b11111111
254 -> 0b11111110

Note

Notă:

Unlike most of the other GMP functions, gmp_setbit() must be called with a GMP resource that already exists (using gmp_init() for example). One will not be automatically created.

A se vedea și