PHP

Для чего нужны побитовые операции в PHP? Объясните мне как можно детальнее, на что хватит духу.

Для работы с отдельными битами (или группами битов) числа. Например, надо на изображение наложить маску с прозрачностью - это проще всего сделать именно побитовым сложением или умножением 31-битного цвета (7 бит - прозрачность, по 8 бит на каждый цветовой канал) пиксела изображения с цветом соответствующего пиксела маски.

Или, например, реализация битовой карты - когда нужно работать с множествами, имеющими очень много элементов. Под каждый элемент отводится ровно 1 бит: 0 - отсутствует, 1 - в наличии.
Сумерки Расцвет
Сумерки Расцвет
99 784
Лучший ответ
С кодами ошибок просто с ними работать. И ещё при обработке числа из БД приходилось использовать (там кучу пользовательских настроек одним числом записали)
Они нужны затем же, зачем и везде — работать с отдельными битами. Самый простой вариант — использовать переменную в качестве флага. То есть, если у тебя переменная тридцатидвухбитная, можно с её помощью задавать 32 разных состояния переключателей включено/выключено, и при этом их легко проверять и обнулять с помощью &, устанавливать с помощью |, и переключать с помощью ^. Обычно это помогает экономить память, но затрудняет понимание кода, поэтому мало где используется. Можно придумать и другие варианты использования, более практичные, но не в полпятого утра.
Например, есть у тебя массив с двумя возможными состояниями каждого элемента, разбиваешь по 32, сохраняешь в виде одного числа. Допустим, это может быть какая-то игровая карта вида стена/проход. Опять же, выигрыш только в количестве занимаемой памяти, может быть ещё в быстродействии некоторых операций, но зато поиск сложнее проводить.
Чтобы писать условия например
If ($a&& $b or $c xor $d)
Сергей Петухов
Сергей Петухов
59 848
Валентин Дяченко Вы перепутали с логическими операторами.
Я такой PHPпист что вы меня в тупик поставили своим вопросом
Сергей Котов
Сергей Котов
1 483
Игорь Коцелябин Зачем же отвечаешь, если ты такой?
СКАЖИТЕ, ЗАЧЕМ НУЖЕН РНР ???НЕУЖЕЛИ КТО ТО ЕЩЕ НА НЕМ ЧТО ТО ДЕЛАЕТ???
Игорь Коцелябин Ой, ну что ты, конечно, никто на нём ничего не пишет уже лет 20 как. Спи, не переживай.