The third parameter is somewhat confusingly named; it would probably be better described as "$set_state". If true, it sets the bit to 1. If false, it sets the bit to 0. Default is true.
<?php
$num = gmp_init(1);
gmp_setbit($num, 1);
echo 'gmp_setbit(1, 1): '.gmp_strval($num, 2)."\n"; // 11
$num = gmp_init(1);
gmp_setbit($num, 1, true);
echo 'gmp_setbit(1, 1, true): '.gmp_strval($num, 2)."\n"; // 11
$num = gmp_init(1);
gmp_setbit($num, 0, false);
echo 'gmp_setbit(1, 0, false): '.gmp_strval($num, 2)."\n"; // 0
?>
gmp_setbit
(PHP 4 >= 4.0.4, PHP 5)
gmp_setbit — Establece el bit
Descripción
void gmp_setbit
( resource
$a
, int $index
[, bool $set_clear = true
] )
Establece el index del bit en a.
Parámetros
-
a -
El número a ser estblecido.
Puede ser tanto un número de resource GMP, o una cadena numérica dada que pueda ser convertida al final en un número.
-
index -
El bit establecido.
-
set_clear -
Define si el bit es establecido a 0 o 1. Por defecto el bit es establecido a 1. El índice empieza en 0.
Valores devueltos
Un número de recurso GMP.
Ejemplos
Ejemplo #1 Ejemplo de gmp_setbit()
<?php
$a = gmp_init("0xfd");
gmp_setbit($a, 1); // el índice empieza en 0
echo gmp_strval($a) . "\n";
?>
El resultado del ejemplo sería:
255
Notas
Nota:
A diferencia de otras funciones GMP, gmp_setbit() debe ser llamado con un recurso GMP que ya exista (usando gmp_init() por ejemplo). No puede ser automáticamente creado.
bluej100@gmail ¶
5 years ago
