gmp_scan1


gmp apg

SCAN for 1 in a GMP number.





This function scans $num1, starting with bit $start, towards more significant bits, until the first set bit is found.



<?php

int gmp_scan1 
GMP|int|string $num1int $start )


where,

$num1 The GMP number to scan

$start 
The starting bit

?>
 

$num1


The first GMP number to scan.



$start


The starting bit.



  1 EXERCISE   

<?php

$bas01 
10;

$s01 gmp_init("101030200"$bas01);

for(
$b01 0$b01 <= 11$b01++)
{

$sc01 gmp_scan1($s01$b01);

echo 
"gmp_scan1($s01$b01) = " gmp_scan1($s01$b01) . '<br>';

}

?> 

  2 EXERCISE   

<?php

echo "gmp_scan1(\"34234\", 1) = " 
                 
gmp_scan1("434234"1) ."<br><br>";

echo 
"gmp_scan1(4096, 0) = " 
                 
gmp_scan1(40960) ."<br><br>";

echo 
"gmp_scan1(\"1000000000\", 5) = " 
                 
gmp_scan1("1000000000"5) ."<br><br>";

echo 
"gmp_scan1('1000000000', 200) = " 
                 
gmp_scan1("1000000000"200) ."<br><br>";

try {
    
var_dump(gmp_scan1("434234", -10));
} catch (
\ValueError $e) {
    echo 
$e->getMessage() . "<br><br>";
}

$n gmp_init("24234527465274");
var_dump(gmp_scan1($n10));

try {
    
var_dump(gmp_scan1(array(), 200));
} catch (
\TypeError $e) {
    echo 
$e->getMessage() . "<br><br>";
}

?>