PHP Conference Nagoya 2025

gmp_testbit

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

gmp_testbitПроверка, установлен ли бит в 1

Описание

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

Проверяет, установлен ли заданный бит в 1.

Список параметров

num

Объект GMP, целое число (int) или строка (string), которая интерпретируется как число по той же логике как если бы строка использовалась в функции gmp_init() с автоматическим определением основания системы счисления — когда значение параметра base равно 0.

index

Проверяемый бит

Возвращаемые значения

Возвращает true, если бит установлен в num, иначе false.

Ошибки

Выбрасывается ошибка уровня E_WARNING, если index меньше нуля, и возвращается false.

Примеры

Пример #1 Пример использования gmp_testbit()

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

Результат выполнения приведённого примера:

bool(false)
bool(true)

Смотрите также

Добавить

Примечания пользователей 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