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

C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
Molotoff
1 / 1 / 0
Регистрация: 21.07.2009
Сообщений: 50
#1

Работа с битами на C++ - C++

08.02.2011, 14:41. Просмотров 1068. Ответов 0
Метки нет (Все метки)

Доброго дня, уважаемые форумчане!
Снова возникли определенные затруднения и я снова обращаюсь к вам. На этот раз проблема следующая.
Есть массив типа unsigned int, с какими-то значениями, например, массив из 4-х элементов:
0100....1110 1111....0101 0000....0110 1101....0011, длина каждого элемента - 32 бита, стоит задача перебрать все возможные значения, отличные на 1,2,3...N бит от данного "вектора".

Как я это вижу:
  • для нахождения значений отличных на 1 бит - берем единицу (0000....0001) сдвигаем в цикле и "ксорим" с каждым значением элементов массива.
  • для двух бит уже несколько сложнее:
    0000....0001
    0000....0101
    0000....1001
    .................
    0001....0001
    .................
    1000....1000
    .................
    1100....0000
    для трех соответственно:
    0000....0111
    0000....1101
    .................
    0100....1001
    ну и так далее
Основная проблема - несколько элементов массива, если б работа велась с одним, было бы намного проще. В чем эта проблема заключается? Например, один элемент "заканчивается", а второй "начинается":
0101....1001 1110....0000 его надо сксорить с
0000....0001 1100....0000
Т.е. проблема не в том, чтобы сксорить с этими полученными элементами, а именно получить эти элементы.
Надеюсь доступно изложил суть своей проблемы. Надеюсь на вашу помощь. Заранее благодарен.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.02.2011, 14:41     Работа с битами на C++
Посмотрите здесь:

работа с битами - C++
доброй ночи, форумчане, необходима ваша помощь) как и всем тут... вот изучаю с++ и добрался до работы с битами, учу решением задач. на...

Работа с битами - C++
Стоит задача: вывести все двоичные коды чисел от 0 и до 2n-1. Сделать напролом могу(переводить в цикле каждое число в двоичную с-му и...

Работа с битами - C++
Я уже задолбался... :wall: Может мне кто нибудь подскажет как из 00111010 (58) получить 00001010 (10) хотя бы каким методом... код...

Работа с битами. - C++
помогите!! как писать эту на программе с++ Ввести последовательность из 8 символов. Сравнить 5-й и 6-й биты каждого символа. Если они...

Работа с битами - C++
В общем вот локальная проблема: есть int, который выступает в роли сетки нулей и единиц, два примера, разницу между которыми не могу...

Работа с битами - C++
три раза писал но все равно не получается((( 1-)Ввести последовательность из 8 символов. Сравнить 5-й и 6-й биты каждого символа. Если...

Работа с битами в Char - C++
Доброго времни суток! Стоит задача сделать операцию сложения битов по модулю 2 над двумя объектами типа char, приравнять полученный...

Работа с битами числа - C++
Извлечь 5 битов числа A, начиная со второго и вставить их в число B, начиная с третьего бита. Нашел код...

GetAsyncKeyState работа с битами - C++ WinAPI
Здравствуйте, уважаемые форумчане. Про функцию прочитал следующее: "Если старший значащий бит установлен, клавиша находится в нажатом...

Работа с файлами и битами - Visual C++
Добрый день. Встала задача фай прочитать побитово, но fread(&tmp,1,1,fr) - читаем 1 байт, как бы можно было бы сделать так, чтобы из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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