Перевод числа из двоичной системы исчисления в десятичную:
int bindec(string binary_string)
$x = bindec(10101010); // $x = 170
Можно:
$x = base_convert("10101010",2,10);
Перевод наоборот, из десятичной системы в двоичную:
string decbin(int $number);
$x = decbin(255); // $x = 11111111
или
$x = base_convert("11111111",10,2);
Побитовые операторы:
| Пример | Название | Результат |
|---|---|---|
| $a & $b | Побитовое ‘и’ | Устанавливаются только те биты, которые установлены и в $a, и в $b. |
| $a | $b | Побитовое ‘или’ | Устанавливаются те биты, которые установлены либо в $a, либо в $b. |
| $a ^ $b | Исключающее или | Устанавливаются только те биты, которые установлены либо только в $a, либо только в $b |
| ~ $a | Отрицание | Устанавливаются те биты, которые в $a не установлены, и наоборот. |
| $a << $b | Сдвиг влево | Все биты переменной $a сдвигаються на $b позиций влево (каждая позиция подразумевает ‘умножение на 2’) |
| $a >> $b | Сдвиг вправо | Все биты переменной $a сдвигаються на $b позиций вправо (каждая позиция подразумевает ‘деление на 2’) |