📜  PHP | gmp_scan1()函数(1)

📅  最后修改于: 2023-12-03 15:33:33.009000             🧑  作者: Mango

PHP | gmp_scan1()函数

简介

gmp_scan1()函数用于获取大数(GMP对象)中从低到高第一个非零位的位置。

语法
gmp_scan1 ( GMP $num , int $start )
参数

函数需要以下两个参数:

  • $num: 需要获取第一个非零位的大数(GMP对象)。
  • $start: 开始检测的位置。如果设置了此参数,则从$start处开始检测,否则从低位开始检测。
返回值

若找到给定大数(GMP对象)中从低到高第一个非零位,则返回该位在$num中的位置(从0开始),否则返回-1。

示例
$num1 = gmp_init("11"); //2进制是 0b1011
$num2 = gmp_init("24"); //2进制是 0b11000

echo gmp_scan1($num1, 2); //输出2
echo gmp_scan1($num2); //输出3
echo gmp_scan1($num2, 4); //输出-1
注意事项
  • $num参数必须是GMP对象,否则会抛出GMP数学库相关的错误。
  • $start参数必须要在[num从低到高的位数]]之内,否则会返回-1。
  • gmp_scan1()函数在查找第一个非零位时,从指定位置开始往高位查找,找到则返回位置,否则返回-1,查找过程中不会修改$num。