Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Быстрый ввод и вывод https://www.cyberforum.ru/ cpp-beginners/ thread924986.html
Добрый день. Прошу прощения за нубский вопрос, но все-таки... Хотелось бы узнать у гуру, какие операторы обеспечивают самый быстрой ввод и вывод в файл.
C++ Возможно ли работать с _CrtDumpMemoryLeaks() в MinGW?
_CrtDumpMemoryLeaks() может работать в mingw или это только для студии?
Шаблон функции, принимающей обычные массивы и объекты C++
Нужно чтобы функция одинаково хорошо принимала массив long и объект vector <string>, чтобы затем удалить повторяющиеся элементы, отсортировать и вернуть количество элементов в новом массиве. Как...
C++ Класс вектор Не могу разобраться с этим классом, прошу помощи и в объяснении(задание очень объёмное ещё), проблема с самим вектором тоже есть. Разработать класс вектор размерности n. Определить несколько... https://www.cyberforum.ru/ cpp-beginners/ thread924950.html
C++ список (в программе обнуляются указатели на структуры) https://www.cyberforum.ru/ cpp-beginners/ thread924942.html
здравствуйте помогите найти ошибку, при возврате указателя на структуру из функции в функцию майн он обнуляется, это меня сбивает с толку разве указатель не сохраняет значение это же всего лишь адрес...
C++ Определить пересекаются ли окружности и найти среди них уединенные(в истории не нашел( )
Окружности задаются координатами X,Y их центров и радиусами R. Датчик случайных чисел вырабатывает характеристики N окружностей. Определить, имеются ли среди этих окружностей три попарно...
Пошаговая Детализация C++
Как бы я сам учу пока паскаль , но вот надо сделать задание по сишке .Буду благодарен за любую подсказку . Задание : Матрицы вещественных чисел . Поменять столбцы с максимальными элементами.
C++ Функция замены Builder 6 На практику в одном из пунктов задания (нужно написать текстовый редактор) нужно выполнить процедуру поиска и замены. Поиск я реализовал, не могли бы вы помочь с заменой? Мб у кого-то есть готовая... https://www.cyberforum.ru/ cpp-beginners/ thread924922.html
C++ О чем задача? https://www.cyberforum.ru/ cpp-beginners/ thread924917.html
Не пойму некоторых начальных условий задачи. Особенно пунктов 40-43 с ветвлениями. Допустим А больше В, разница меньше 0 и выполняется комманда 4207 - заносится результат (А-В) в адресс 07. А...
C++ выделение памяти char* Подскажите пожалуйста как реализовать следующее: Человек вводит что-то с клавиатуры (строку и т.п.) И когда ему надоедает - нажимает enter - этим и завершает ввод строки. Проблема в следующем -... https://www.cyberforum.ru/ cpp-beginners/ thread924914.html
Модератор
Эксперт по электронике
8275 / 6134 / 822
Регистрация: 14.02.2011
Сообщений: 21,331
18.07.2013, 19:24 0

Битовые операции

18.07.2013, 19:24. Просмотров 1553. Ответов 28
Метки (Все метки)

Ответ

вот решил для байта если размерность числа разная то без цикла не обойтись(по моему)
C++
1
2
3
4
5
6
7
unsigned char tmp =a^value;
                char tmp1 =tmp&0x80|tmp<<1& 0x80| tmp<<2&0x80 |tmp<<3& 0x80 |
                             tmp<<4&0x80 |tmp<<5& 0x80| tmp<<6&0x80 |tmp<<7& 0x80;
//tmp1=0x80 если a не равно value и 0 если равно
unsigned char tmp2=tmp1>>7;
//tmp2=0xFF если a не равно value и 0 если равно
b=result1&~tmp2 | result2&tmp2;
правда не проверял, так мысли вслух, с приоритетами мог наврать

Добавлено через 4 минуты
Цитата Сообщение от stawerfar Посмотреть сообщение
Вообще необходимо реализовать более быструю альтернативы условным операторам if и else if и else
а почему тогда нельзя использовать || && b и сравнение, от них скорость не падает
поскольку ветвления нет
вот так будет гораздо проще
C++
1
2
tmp = (a!=value)*-1;
b=result1&~tmp | result2&tmp;
Добавлено через 2 минуты
или даже так
C++
1
b=result1*(a==value) | result2*(a!=value);
Добавлено через 15 минут
Цитата Сообщение от Thinker Посмотреть сообщение
c = c | (c << 1) | (c << 2) | (c << 3) | (c << 4) | (c << 5) | (c << 6) | (c << 7);
а вот если бы привел к знаковому и загнал бы к старшему биту то не пришлось бы это писать
сдвиг вправо для знаковых и беззнаковых отличается
али забыл

Вернуться к обсуждению:
Битовые операции
2
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.07.2013, 19:24
Готовые ответы и решения:

Битовые операции, битовые поля.
Здравствуйте! Еслть 4 диапазона чисел: 0-100, 0-100, 0-6000, 0-3. Сделать в виде битовых операций....

Битовые операции и операции смещения языка С
Доброго времени суток господа,помогите пожалуйста.Есть 2 кода к задаче,первый работает...

битовые операции
надо написать ф-цию, которая в данном числе(в двоичной с.с.) на заданном номере ставила 1, вместо 0

Битовые операции
Имеется число int x = 85; // 1010101 - двоичное представление // 6543210 - номера битов //...

28
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.