(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)
gmp_setbit — Установка бита
Устанавливает в 1 бит с индексом index
в числе num
.
num
Объект GMP.
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()). Число не будет создаваться автоматически.