gmp_setbit

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_setbitУстановка бита

Описание

gmp_setbit ( GMP $num , int $index , bool $value = true ) : void

Устанавливает в 1 бит с индексом index в числе num.

Список параметров

num

Изменяемое значение.

Объект GMP, целое число (int) или числовая строка (string).

index

Индекс устанавливаемого бита. Индекс 0 указывает на младший бит.

value

True для установки бита (установки в 1/включен); false для его очистки (установки в 0/выключен).

Возвращаемые значения

Объект класса GMPю

Примеры

Пример #1 Пример использования gmp_setbit() - 0 индекс

<?php
$a 
gmp_init("2"); //
echo gmp_strval($a), ' -> 0b'gmp_strval($a2), "\n";
gmp_setbit($a0); // 0b10 now becomes 0b11
echo gmp_strval($a), ' -> 0b'gmp_strval($a2), "\n";
?>

Результат выполнения данного примера:

2 -> 0b10
3 -> 0b11

Пример #2 Пример использования gmp_setbit() - 1 индекс

<?php
$a 
gmp_init("0xfd");
echo 
gmp_strval($a), ' -> 0b'gmp_strval($a2), "\n";
gmp_setbit($a1); // index starts at 0
echo gmp_strval($a), ' -> 0b'gmp_strval($a2), "\n";
?>

Результат выполнения данного примера:

253 -> 0b11111101
255 -> 0b11111111

Пример #3 Пример использования gmp_setbit() очистка бита

<?php
$a 
gmp_init("0xff");
echo 
gmp_strval($a), ' -> 0b'gmp_strval($a2), "\n";
gmp_setbit($a0false); // clear bit at index 0
echo gmp_strval($a), ' -> 0b'gmp_strval($a2), "\n";
?>

Результат выполнения данного примера:

255 -> 0b11111111
254 -> 0b11111110

Примечания

Замечание:

В отличие от большинства GMP функций, gmp_setbit() должна вызываться для уже существующего объекта GMP (например, созданного функцией gmp_init()). Число не будет создаваться автоматически.

Смотрите также