gmp_setbit
(PHP 4 >= 4.0.4, PHP 5, PHP 7)
gmp_setbit — Установка бита
Описание
Устанавливает в 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($a, 2), "\n";
gmp_setbit($a, 0); // 0b10 now becomes 0b11
echo gmp_strval($a), ' -> 0b', gmp_strval($a, 2), "\n";
?>
Результат выполнения данного примера:
2 -> 0b10 3 -> 0b11
Пример #2 Пример использования gmp_setbit() - 1 индекс
<?php
$a = gmp_init("0xfd");
echo gmp_strval($a), ' -> 0b', gmp_strval($a, 2), "\n";
gmp_setbit($a, 1); // index starts at 0
echo gmp_strval($a), ' -> 0b', gmp_strval($a, 2), "\n";
?>
Результат выполнения данного примера:
253 -> 0b11111101 255 -> 0b11111111
Пример #3 Пример использования gmp_setbit() очистка бита
<?php
$a = gmp_init("0xff");
echo gmp_strval($a), ' -> 0b', gmp_strval($a, 2), "\n";
gmp_setbit($a, 0, false); // clear bit at index 0
echo gmp_strval($a), ' -> 0b', gmp_strval($a, 2), "\n";
?>
Результат выполнения данного примера:
255 -> 0b11111111 254 -> 0b11111110
Примечания
Замечание:
В отличие от большинства GMP функций, gmp_setbit() должна вызываться для уже существующего объекта GMP (например, созданного функцией gmp_init()). Число не будет создаваться автоматически.