gmp_scan1() es una función incorporada que se utiliza para escanear «1» en el número GMP ( precisión múltiple GNU: para números grandes ) a partir del índice dado que se mueve hacia los bits más significativos en el número.
Sintaxis:
gmp_scan1($num, $index)
Parámetros: Esta función acepta dos parámetros como se explica a continuación:
- $num : este parámetro es un número GMP y es obligatorio pasarlo. Este parámetro puede ser un objeto GMP en PHP versión 5.6 y posteriores, o también se nos permite pasar una string numérica siempre que sea posible convertir esa string en un número.
- $index : Este parámetro representa el índice o posición en la representación bit a bit del número $num desde donde queremos iniciar la búsqueda.
Valor devuelto: La función devuelve la posición donde encontramos «1» en el número.
Ejemplos:
Input : gmp_scan1("101111101", 6) Output : 8 Input : gmp_scan1("111001111", 2) Output : 3
Los siguientes programas ilustran la función gmp_scan1() en PHP:
Programa 1: programa para encontrar la posición del bit «1» en el número GMP cuando se pasan strings numéricas como números GMP como argumentos.
<?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"; ?>
Producción:
4
Programa 2: programa para encontrar la posición del bit «1» en el número GMP cuando los números GMP se pasan como argumentos.
<?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"; ?>
Producción:
3
Referencia:
http://php.net/manual/en/function.gmp-scan1.php