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

C++

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

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

08.02.2011, 14:41. Просмотров 1067. Ответов 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++ Работа с битами
Visual C++ Работа с файлами и битами
C++ Работа с битами.
Работа с битами. C++
Работа с битами C++
C++ Работа с битами
Работа с битами C++
работа с битами C++
C++ Работа с битами в Char
Работа с битами C++
C++ Работа с битами числа

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

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

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