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