PHP Conference Nagoya 2025

gmp_testbit

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

gmp_testbitTests if a bit is set

Beschreibung

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

Tests if the specified bit is set.

Parameter-Liste

num

Ein GMP-Object, ein Integer oder eine Zeichenkette, die als Zahl interpretiert werden kann, wobei die gleiche Logik gilt, als ob die Zeichenkette in gmp_init() mit automatischer Erkennung der Basis verwendet würde (d. h. wenn base gleich 0 ist).

index

The bit to test

Rückgabewerte

Returns true if the bit is set in num, otherwise false.

Fehler/Exceptions

An E_WARNING level error is issued when index is less than zero, and false is returned.

Beispiele

Beispiel #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));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

bool(false)
bool(true)

Siehe auch

add a note

User Contributed Notes 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