PHP | gmp_testbit() Function
Last Updated :
11 Jul, 2025
The gmp_testbit() is an in-built function in PHP which checks if the specified bit of a given GMP number(
GNU Multiple Precision: For large numbers) is set or not.
Syntax:
gmp_testbit($num, $index)
Parameters: The function accepts two parameters which are mandatory and are described below:
- $num - The This function accepts one GMP number $num whose specified bit is to be checked.This parameter can be a GMP object in PHP version 5.6 and later, or we are also allowed to pass a numeric string provided that it is possible to convert that string to a number.
- $index- The specified index whose bit in $num is to be checked. It is an integer.
Return Value: The function returns
true if the specified
$index bit is set, otherwise it returns
false if the bit is not set.
Examples:
Input : $num=4 $index=2
Output : true
Input : $num=9 $index=2
Output : false
Below programs illustrate the use of gmp_testbit() function:
Program 1: The program below demonstrates the working of gmp_testbit() function when GMP number is passed as an argument.
php
<?php
// PHP program to check the sign
// of a number
// numeric string arguments
$num = gmp_init("1001", 2);
$index1 = 2;
$index2 = 0;
// checks if the 2nd index bit in 9 (1001) is set or not
var_dump(gmp_testbit($num, $index1))."\n";
// checks if the 0th index bit in 9 (1001) is set or not
var_dump(gmp_testbit($num, $index2));
?>
Output:
bool(false)
bool(true)
Program 2: The program below demonstrates the working of gmp_testbit() when numeric string is passed as an argument.
php
<?php
// PHP program to check the sign
// of a number
// numeric string arguments
$num = "9";
$index1 = 2;
$index2 = 3;
// checks if the 2nd index bit in 9 (1001)
// is set or not
var_dump(gmp_testbit($num, $index1))."\n";
// checks if the 3rd index bit in 9 (1001)
// is set or not
var_dump(gmp_testbit($num, $index2));
?>
Output:
bool(false)
bool(true)
Reference: https://www.php.net/manual/en/function.gmp-testbit.php