PHP 5.5.16 is released

gmp_testbit

(PHP 5 >= 5.3.0)

gmp_testbitビットが設定されているかどうかを調べる

説明

bool gmp_testbit ( GMP $a , int $index )

指定したビットが設定されているかどうかを調べます。

パラメータ

a

PHP 5.5 以前での GMP 数リソース、PHP 5.6 以降での GMP オブジェクト、あるいは数値に変換可能な数値形式の文字列。

index

調べたいビット。

返り値

リソース $a にビットが設定されている場合に TRUE、 それ以外の場合に FALSE を返します。

エラー / 例外

index に負の数を指定すると E_WARNING が発生し、FALSE を返します。

例1 gmp_testbit() の例

<?php
$n 
gmp_init("1000000");
var_dump(gmp_testbit($n1));
gmp_setbit($n1);
var_dump(gmp_testbit($n1));
?>

上の例の出力は以下となります。

bool(false)
bool(true)

参考

add a note add a note

User Contributed Notes 1 note

up
0
bluej100@gmail
7 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