gmp_testbit

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

gmp_testbit测试位是否设置

描述

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

测试指定的位是否设置。

参数

num

一个 GMP 对象,一个 int 或一个数值 string

index

要测试的位

返回值

如果位在 num 中设置,则返回 true,否则返回 false

错误/异常

index 小于零时,会发出 E_WARNING 级别的错误,并返回 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 则

1
bluej100@gmail
17 年前
gmp_testbit 将非常适合我的(超过 64 位)位掩码检查。

同时,我认为这些是最好的替代方案。

大部分已填充

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

大部分为空

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

仍然最坏情况下的 O(N),虽然。
To Top