Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
 
1 / 1 / 0
Регистрация: 21.07.2009
Сообщений: 50
1

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

08.02.2011, 14:41. Просмотров 1318. Ответов 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
Т.е. проблема не в том, чтобы сксорить с этими полученными элементами, а именно получить эти элементы.
Надеюсь доступно изложил суть своей проблемы. Надеюсь на вашу помощь. Заранее благодарен.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.02.2011, 14:41
Ответы с готовыми решениями:

Работа с битами И Работа с символьными данными
1. Ввести 8 символов. В символе с наибольшим кодом заменить 5-й бит единицей, а в символе с...

Работа с битами.
Здрасте. Дана задача: Определить на сколько в числе А больше значущих битов, что равны единице, чем...

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

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

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.02.2011, 14:41

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

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

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

Работа с битами
Не могу понять, почему не правильно работает программа. Программа зашифровывает строку, выводит,...

Работа с битами
три раза писал но все равно не получается((( 1-)Ввести последовательность из 8 символов. Сравнить...

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


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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