|
14 / 14 / 0
Регистрация: 01.12.2017
Сообщений: 577
|
||||||
Битовые операции29.05.2018, 10:25. Показов 3616. Ответов 41
Метки нет (Все метки)
Есть арифметическое выражение: y = 13 * ((2 * a + b / 8)). а, b вводятся пользователем.
Как представить это же выражение посредством битовых операций. Есть такой вариант(работает неверно):
Спасибо.
0
|
||||||
| 29.05.2018, 10:25 | |
|
Ответы с готовыми решениями:
41
Битовые последовательности и битовые операции
|
|
Злостный нарушитель
10894 / 5829 / 1289
Регистрация: 12.03.2015
Сообщений: 26,897
|
||
| 31.05.2018, 17:12 | ||
|
Операция "суммирование" - это составная операция на основе нескольких логических. Доклад окончил. Всем спасибо.
0
|
||
|
82 / 82 / 44
Регистрация: 14.07.2013
Сообщений: 410
|
||
| 31.05.2018, 19:49 | ||
|
Verevkin,
эм, по этому критерию сдвиги не проходят. потому что какая логическая операция передвинет бит в следующую или предыдущую позицию?)
0
|
||
|
Злостный нарушитель
10894 / 5829 / 1289
Регистрация: 12.03.2015
Сообщений: 26,897
|
|
| 31.05.2018, 19:56 | |
|
0
|
|
|
82 / 82 / 44
Регистрация: 14.07.2013
Сообщений: 410
|
|
| 31.05.2018, 19:57 | |
|
да и компилятор приводит все выражения именно в такую форму. потому что деление примерно в 50 раз медленнее а умножение в 10 раз. и того по примеру что в этой теме
скорость первоначальной версии по отношению к моей это 70 к 11. и если судить про логические операции то все операторы построены на "negative AND gates" так что не катит
0
|
|
|
73 / 73 / 18
Регистрация: 29.11.2011
Сообщений: 356
|
|||||||
| 31.05.2018, 20:11 | |||||||
0
|
|||||||
|
73 / 73 / 18
Регистрация: 29.11.2011
Сообщений: 356
|
|||
| 31.05.2018, 20:16 | |||
|
0
|
|||
|
82 / 82 / 44
Регистрация: 14.07.2013
Сообщений: 410
|
|
| 31.05.2018, 20:31 | |
|
Praktolock, не всегда компилятор оптимизирует код(ну да насчёт все выражения я переборщил)
0
|
|
|
73 / 73 / 18
Регистрация: 29.11.2011
Сообщений: 356
|
||
| 31.05.2018, 20:38 | ||
|
0
|
||
|
82 / 82 / 44
Регистрация: 14.07.2013
Сообщений: 410
|
|
| 31.05.2018, 20:38 | |
|
0
|
|
|
82 / 82 / 44
Регистрация: 14.07.2013
Сообщений: 410
|
|
| 31.05.2018, 20:41 | |
|
Praktolock, компилятор оптимизирует код поэтому такое и возможно. в исходном коде они int и double а в двоичном виде это просто биты...
0
|
|
|
73 / 73 / 18
Регистрация: 29.11.2011
Сообщений: 356
|
|||||||
| 31.05.2018, 20:42 | |||||||
|
Вот сложение через логические операторы (цикл можно развернуть, насчет числа итераций не уверен)
0
|
|||||||
|
82 / 82 / 44
Регистрация: 14.07.2013
Сообщений: 410
|
|
| 31.05.2018, 20:46 | |
|
вот полный вариант
0
|
|
|
73 / 73 / 18
Регистрация: 29.11.2011
Сообщений: 356
|
||
| 31.05.2018, 20:48 | ||
|
0
|
||
|
82 / 82 / 44
Регистрация: 14.07.2013
Сообщений: 410
|
|
| 31.05.2018, 20:57 | |
|
Praktolock, ну хорошо я утверждать не буду кто это делает, так как точно не помню. но суть в том что оно приводится к такой форме что привёл я. (потому что деление побитово намного медленнее за сдвиг и + -, и умножение медленнее)
и процессор не может за один такт провести деление или умножение насколько я помню. может я конечно что то путаю... можешь привести какую то литературу для подтверждения?
0
|
|
|
73 / 73 / 18
Регистрация: 29.11.2011
Сообщений: 356
|
||||
| 31.05.2018, 21:12 | ||||
|
0
|
||||
|
82 / 82 / 44
Регистрация: 14.07.2013
Сообщений: 410
|
||
| 31.05.2018, 21:19 | ||
|
Praktolock, я начал дискуссию о том что по другому его через побитовые операции не записать(без + и -). возможно я просто не достаточно точно выразился. и по моему за 1 такт сдвиг и + - вроде делается(я не утверждаю, я просто помню что где то что то подобное читал может это не 1 такт а отношение к другим операциям...)
0
|
||
|
87 / 88 / 48
Регистрация: 12.10.2013
Сообщений: 1,103
|
|
| 31.05.2018, 22:18 | |
|
Господа демократы , ответьте несведующему в ваших дебатах.Что сие значит (a<<b)???C++ штурмую недавно.По моим понятиям это оператор битового сдвига !!! Я не прав???
0
|
|
|
82 / 82 / 44
Регистрация: 14.07.2013
Сообщений: 410
|
|
| 31.05.2018, 22:29 | |
|
Веселый, всё верно
int a = 8; // 0000 1000 a <<= 2; // 0010 0000 ( a = 8 * 2^2 = 32)
1
|
|
|
87 / 88 / 48
Регистрация: 12.10.2013
Сообщений: 1,103
|
||||||
| 31.05.2018, 22:42 | ||||||
|
Странно,но это не мешает быть ему также выводом в консоль!!!
Это что ПОЛИМОРФИЗМ ?
0
|
||||||
|
Злостный нарушитель
10894 / 5829 / 1289
Регистрация: 12.03.2015
Сообщений: 26,897
|
|
| 31.05.2018, 22:44 | |
|
0
|
|
| 31.05.2018, 22:44 | |
|
Битовые операции и операции смещения языка С Битовые операции Битовые операции
Битовые операции Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программный домашний кинотеатр
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: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|