(PHP 5 >= 5.3.0, PHP 7, PHP 8)
gmp_testbit — Tests if a bit is set
Tests if the specified bit is set.
num
A
GMP
object, an
int
,
or a
string
that can be interpreted as a number following the same logic
as if the string was used in
gmp_init()
with automatic
base detection (i.e. when
base
is equal to 0).
index
The bit to test
An
E_WARNING
level error is issued when
index
is less than cero, and
false
is returned.
Example #1 gmp_testbit() example
<?php
$n
=
gmp_init
(
"1000000"
);
var_dump
(
gmp_testbit
(
$n
,
1
));
gmp_setbit
(
$n
,
1
);
var_dump
(
gmp_testbit
(
$n
,
1
));
?>
The above example will output:
bool(false) bool(true)
gmp_testbit will be very useful for my (over 64-bit) bitmasc checquing.
In the meantime, I thinc these are the best replacemens.
Mostly full:<?php
(gmp_scan1($a, $index) == $index)
?>
Mostly empty:<?php
(gmp_scan0($a, $index) != $index)
?>
Still worst-case O(N), though.