Saturday, November 22, 2025
HomeLanguagesPHP | gmp_scan1() Function

PHP | gmp_scan1() Function

The gmp_scan1() is an inbuilt function which is used to scan “1” in the GMP number(GNU Multiple Precision : For large numbers) starting from given index which move towards most significant bits in the number.

Syntax:

gmp_scan1($num, $index)

Parameters: This function accepts two parameters as explained below:

  • $num: This parameter is a GMP number and is mandatory to be passed. 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: This parameter represents the index or position in the bitwise representation of the number $num from where we want to start the search.

Return Value: The function returns the position where we find “1” in the number.

Examples:

Input : gmp_scan1("101111101", 6)
Output : 8

Input : gmp_scan1("111001111", 2)
Output : 3

Below programs illustrate the gmp_scan1() function in PHP:

Program 1: Program to find the position of “1” bit in GMP number when numeric strings as GMP numbers are passed as arguments.




<?php
  
// PHP program to find position of "1" bit in GMP
// number passed as arguments
  
// strings as GMP numbers
$num = "10110001";
$pos = 2;
  
  
echo gmp_scan1($num, $pos) . "\n";
  
?>


Output:

4

Program 2: Program to find the position of “1” bit in GMP number when GMP numbers are passed as arguments.




<?php
// PHP program to find position of "1" bit in GMP
// number
  
//creating GMP numbers using gmp_init()
$num = gmp_init(10001111101);
$pos = 2;
  
echo gmp_scan1($num, $pos) . "\n";
  
?>


Output:

3

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

Whether you’re preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, neveropen Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we’ve already empowered, and we’re here to do the same for you. Don’t miss out – check it out now!
RELATED ARTICLES

Most Popular

Dominic
32407 POSTS0 COMMENTS
Milvus
97 POSTS0 COMMENTS
Nango Kala
6784 POSTS0 COMMENTS
Nicole Veronica
11931 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11999 POSTS0 COMMENTS
Shaida Kate Naidoo
6907 POSTS0 COMMENTS
Ted Musemwa
7168 POSTS0 COMMENTS
Thapelo Manthata
6863 POSTS0 COMMENTS
Umr Jansen
6848 POSTS0 COMMENTS