Tutorialspoint.dev

PHP | gmp_testbit() Function

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:

  1. $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.
  2. $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 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))." ";  
  
// 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 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))." ";  
  
// 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: http://php.net/manual/en/function.gmp-testbit.php



This article is attributed to GeeksforGeeks.org

You Might Also Like

leave a comment

code

0 Comments

load comments

Subscribe to Our Newsletter