PHP Conference Nagoya 2025

gmp_testbit

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

gmp_testbitTesta se um bit está definido

Descrição

gmp_testbit(GMP|int|string $num, int $index): bool

Teste se o bit especificado está definido.

Parâmetros

num

Um objeto GMP, um int ou uma string que possa ser interpretado como um número seguindo a mesma lógica como se a string fosse usada em gmp_init() com detecção automática de base (ou seja, quando base é igual a 0).

index

O bit a ser testado.

Valor Retornado

Retorna true se o bit estiver definido em num, caso contrário, false.

Erros/Exceções

Um erro de nível E_WARNING será emitido quando index for menor que zero, e false será retornado.

Exemplos

Exemplo #1 Exemplo de gmp_testbit()

<?php
$n
= gmp_init("1000000");
var_dump(gmp_testbit($n, 1));
gmp_setbit($n, 1);
var_dump(gmp_testbit($n, 1));
?>

O exemplo acima produzirá:

bool(false)
bool(true)

Veja Também

adicione uma nota

Notas Enviadas por Usuários (em inglês) 1 note

up
1
bluej100@gmail
17 years ago
gmp_testbit will be very useful for my (over 64-bit) bitmask checking.

In the meantime, I think these are the best replacements.

Mostly full:

<?php
(gmp_scan1($a, $index) == $index)
?>

Mostly empty:

<?php
(gmp_scan0($a, $index) != $index)
?>

Still worst-case O(N), though.
To Top