Sunday, November 23, 2025
HomeLanguagesPHP | gmp_setbit() Function

PHP | gmp_setbit() Function

The gmp_setbit() function is an inbuilt function in PHP which is used to set the bit index in given $num.

Syntax:

void gmp_setbit( GMP $num, int $index, bool $bit_on )

Parameters: This function accepts three parameters as mentioned above and described below:

  • $num: It is a required parameter. This parameter gives the value to be modified. This parameter can be a GMP number resource in PHP 5.5 and earlier, a GMP object in PHP 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: It is a required parameter. This parameter provides the index to be set. Here index 0 represents the least significant bit.
  • $set_state: This parameter sets the bits, if “True” it sets the bit to 1/on and if “False”, it will clear the bit that is set the bit to 0/off.

Return Value: This function returns the GMP number resource in PHP 5.5 and earlier, or a GMP object in PHP 5.6 and later.

Program 1: Program to illustrate gmp_setbit() function having index 0:




<?php
// PHP program to demonstrate the gmp_setbit() function
// with index 0
  
// It will create a gmp number
$num = gmp_init("2");  
  
// gmp_strval will return the string value of a GMP number
// when the argument is numeric string and 
// the second parameter is present 
echo gmp_strval($num), ' -> 0b', gmp_strval($num, 2), "\n"
  
gmp_setbit($num, 0);  // 0b10 now becomes 0b11
  
echo gmp_strval($num), ' -> 0b', gmp_strval($num, 2);
?>


Output:

2 -> 0b10
3 -> 0b11

Program 2: Program of gmp_setbit() function for clearing the bit:




<?php
  
// php program to illustrate gmp_setbit() function
// for clearing bit
  
// gmp_init() will create a gmp number
$num = gmp_init("3");
  
// gmp_strval will return the string value of a GMP number
// when the argument is numeric string and 
// the second parameter is present 
echo gmp_strval($num), ' -> 0b', gmp_strval($num, 2), "\n";
  
gmp_setbit($num, 0, false); // clearing bit at index 0
  
echo gmp_strval($num), ' -> 0b', gmp_strval($num, 2);
?>


Output :

3 -> 0b11
2 -> 0b10

Reference: http://php.net/manual/en/function.gmp-setbit.php

RELATED ARTICLES

Most Popular

Dominic
32407 POSTS0 COMMENTS
Milvus
97 POSTS0 COMMENTS
Nango Kala
6785 POSTS0 COMMENTS
Nicole Veronica
11932 POSTS0 COMMENTS
Nokonwaba Nkukhwana
12000 POSTS0 COMMENTS
Shaida Kate Naidoo
6907 POSTS0 COMMENTS
Ted Musemwa
7168 POSTS0 COMMENTS
Thapelo Manthata
6864 POSTS0 COMMENTS
Umr Jansen
6852 POSTS0 COMMENTS