Форум программистов, компьютерный форум CyberForum.ru

Битовые операции - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Быстрый ввод и вывод http://www.cyberforum.ru/cpp-beginners/thread924986.html
Добрый день. Прошу прощения за нубский вопрос, но все-таки... Хотелось бы узнать у гуру, какие операторы обеспечивают самый быстрой ввод и вывод в файл.
C++ Возможно ли работать с _CrtDumpMemoryLeaks() в MinGW? _CrtDumpMemoryLeaks() может работать в mingw или это только для студии? http://www.cyberforum.ru/cpp-beginners/thread924972.html
Шаблон функции, принимающей обычные массивы и объекты C++
Нужно чтобы функция одинаково хорошо принимала массив long и объект vector <string>, чтобы затем удалить повторяющиеся элементы, отсортировать и вернуть количество элементов в новом массиве. Как лучше всего обеспечить приём аргументов, итераторами? Программа: #include <iostream> #include <algorithm> #include <set> #include <vector> #include <iterator> using std :: cout; using std :: cin;...
C++ Класс вектор
Не могу разобраться с этим классом, прошу помощи и в объяснении(задание очень объёмное ещё), проблема с самим вектором тоже есть. Разработать класс вектор размерности n. Определить несколько конструкторов , в том числе и конструктор копирования. Реализовать методы для вычисления модуля вектора, скалярного произведения, сложения,вычитания, умножения на константу. Перегрузить операции сложения,...
C++ список (в программе обнуляются указатели на структуры) http://www.cyberforum.ru/cpp-beginners/thread924942.html
здравствуйте помогите найти ошибку, при возврате указателя на структуру из функции в функцию майн он обнуляется, это меня сбивает с толку разве указатель не сохраняет значение это же всего лишь адрес на объект вот код мною написанный #include<iostream> using namespace std; struct myst { char name; int money;
C++ Определить пересекаются ли окружности и найти среди них уединенные(в истории не нашел( ) Окружности задаются координатами X,Y их центров и радиусами R. Датчик случайных чисел вырабатывает характеристики N окружностей. Определить, имеются ли среди этих окружностей три попарно пересекающихся. Найти среди этих окружностей все уединенные. Добавлено через 6 минут Или киньте плиз ссылку с такой прогой)) подробнее

Показать сообщение отдельно
ValeryS
Модератор
6376 / 4842 / 443
Регистрация: 14.02.2011
Сообщений: 16,045
18.07.2013, 19:24     Битовые операции
вот решил для байта если размерность числа разная то без цикла не обойтись(по моему)
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);
а вот если бы привел к знаковому и загнал бы к старшему биту то не пришлось бы это писать
сдвиг вправо для знаковых и беззнаковых отличается
али забыл
 
Текущее время: 12:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru