|
16 / 18 / 2
Регистрация: 02.03.2024
Сообщений: 510
|
|
Практическое применение битовых операций17.04.2024, 01:08. Показов 2407. Ответов 32
Метки нет (Все метки)
Всем привет
интересует практическое применение битовых операций в повседневности скажем так то что побитовые сдвиги - умножение/деление на четное - это да. а вот остальные операции - можно ли с их помощью как-то что-то ускорить, например уменьшив объем передаваемых данных - к примеру использовать все биты байтов при радиопередаче, вместо десятичной перейти на шестнадцатиричную систему или например битовое "И" быстрее чем обычное "И". какой вообще логический смысл СЕЙЧАС несут битовые операции, разумеется кроме явных моментов где их наличие необходимо: XOR и прочие операции с байтами?
0
|
|
| 17.04.2024, 01:08 | |
|
Ответы с готовыми решениями:
32
Применение битовых операций Практическое применение c++ Практическое применение виртуальных функций |
|
Супер-модератор
|
||||||||||||||||
| 17.04.2024, 20:39 | ||||||||||||||||
|
У меня старая Visual studio 6 (C++). Посмотрел дизассемблерный код... Я в шоке! C++ упорно не хочет использовать битовые операции! Удалось заставить это сделать только вот так:
![]()
1
|
||||||||||||||||
| 19.04.2024, 01:04 | ||
|
if(i == 1) - истинно лишь в случае, когда значение переменной i в точности равно 1. if(i&j) - истинно для всех нечетных i.
0
|
||
|
16 / 18 / 2
Регистрация: 02.03.2024
Сообщений: 510
|
||
| 19.04.2024, 01:28 [ТС] | ||
|
передача в метод вместо осмысленной переменной значения .метод(перем1 | перем2)
0
|
||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|
| 19.04.2024, 09:05 | |
Сообщение было отмечено pup_kin как решение
Решение
1
|
|
|
1518 / 533 / 78
Регистрация: 22.09.2023
Сообщений: 1,696
|
|
| 19.04.2024, 09:35 | |
|
С битовыми флагами есть один нюанс: для операций "двоичное (побитовое) И" ("&"), "двоичное (побитовое) ИЛИ" ("|") порядок вычисления операндов не определен и выражение всегда вычисляется полностью. А для операций "логическое И" ("&&"), "логическое ИЛИ" ("||") порядок вычисления операндов строго слева направо и их вычисление прекращается, как только необработанные еще операнды перестают влиять на результат. Например, в выражении if(func1() || func2() || func3()) func3 не будет вызвана, если func2() вернет true, а func2() (и func3()) не будут вызваны, если func1() вернeт true.
1
|
|
|
16 / 18 / 2
Регистрация: 02.03.2024
Сообщений: 510
|
|||||||
| 19.04.2024, 23:43 [ТС] | |||||||
|
это же ничего не значит ![]() яж пишу пример .метод(int принимает 1) это перечисления перем1 = 1 перем2 =2 перем3 =4 .метод(перем1 | перем2) 1|2 Это 3 вообще смысла нет наверное очередной бредовый код был Добавлено через 2 минуты типа такого
ааааа они делали 11111111 теперь понятно там внутри метода наверняка был оператор "|=" спасибо
0
|
|||||||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|
| 20.04.2024, 01:39 | |
|
pup_kin, каждый бит обозначает некий признак. Бит в 1 - признак есть, бит в 0 - признака нет. Несколько битов - комбинация признаков. Т.е. суть именно в битах (и их комбинациях), а не в десятичных числах, которые они составляют.
0
|
|
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|
| 20.04.2024, 03:10 | |
|
0
|
|
|
Нарушитель
6334 / 3067 / 1054
Регистрация: 01.06.2021
Сообщений: 11,727
|
|
| 20.04.2024, 10:32 | |
|
pup_kin, битовые флаги принесут пользу, если у вас будет множество персонажей с разными способностями... (т.е. несколько переменных "playerAbilities") а у вас в коде один игрок
0
|
|
|
16 / 18 / 2
Регистрация: 02.03.2024
Сообщений: 510
|
||||||||||||
| 20.04.2024, 18:27 [ТС] | ||||||||||||
|
это код из интернета нагугленный по "комбинация битовых флагов". А вот вопрос такой дурацкий битовые флаги - отлично, все хорошо, удобно 8 признаков или 32 можно запихать в одну переменную. А вот вопрос- код он же увеличится в объеме к примеру у меня есть объект у него свойство прыгает, бегает, летает, ползает и если я пишу то тут все норм, булевский признак
к тому же наличие дефайнов - оно же тоже где-то хранится? насколько это выгодно. И сравнение будева условия и битового "И" что из них менее затратно? или это все зависит от конкретного компилятора и платформы для которой собирается проект?
0
|
||||||||||||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|||||
| 20.04.2024, 18:46 | |||||
|
Так что не увеличит. &, а не |Добавлено через 5 минут Если же например надо будет проверить сразу пачку признаков, то через тот же TEST будет быстрее. А булевские флаги будут проверяться по-отдельности, еще и переход добавится.
1
|
|||||
|
16 / 18 / 2
Регистрация: 02.03.2024
Сообщений: 510
|
|
| 20.04.2024, 20:13 [ТС] | |
|
0
|
|
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|
| 20.04.2024, 20:14 | |
|
pup_kin, про это.
1
|
|
| 20.04.2024, 20:14 | |
|
Изучение битовых операций Реализация битовых операций Реализация битовых операций в Си++ Выполнение битовых логических операций
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|