9 / 9 / 4
Регистрация: 16.10.2012
Сообщений: 61
|
|
1 | |
Сравнение байтов в bitset12.11.2013, 23:15. Показов 6095. Ответов 25
Метки нет (Все метки)
Помогите написать функцию, которая сравнивает байты (а точнее первые 3 бита в каждом байте bitset<32>)
Просто кроме, как кейсом, ничего в голову не приходит. Получается очень громоздко. В идеальном варианте, надо расположить байты по возрастанию, одинаковые оставить на месте. Но мне, пока что нужна только функция сравнения этих байтов.
0
|
12.11.2013, 23:15 | |
Ответы с готовыми решениями:
25
Сравнение двух массивов байтов Выполнить чтение всех байтов с файла с помощью FileInputStream в массив байтов Сканирование байтов в памяти, и получение начального адреса байтов Если увеличить объём кластера на флешке с 4048 байтов до 8192 байтов то она будет работать быстрей? |
9 / 9 / 4
Регистрация: 16.10.2012
Сообщений: 61
|
|
13.11.2013, 01:34 [ТС] | 3 |
Так а смысл их использовать, имея возможность исползовать bitset. Проблемы написать самому у меня нету, но получается слишком громоздкая функция. Думал, может кто то сможет предложить что то более-менее компактное
0
|
13.11.2013, 01:43 | 4 |
А смысл вообще писать на С++ ?
А что мешает ? http://www.cplusplus.com/refer... operators/ Добавлено через 6 минут Делаеш "XOR", инвертируешь, накладываешь маску по трем битам с помощь "И" приводишь к bool
0
|
9 / 9 / 4
Регистрация: 16.10.2012
Сообщений: 61
|
|
13.11.2013, 01:43 [ТС] | 5 |
ну и опять же. Смысл то какой в этом? Это не уменьшит объёма функции
0
|
13.11.2013, 02:00 | 6 | |||||
А код не должен быть малообъемным, он должен быть рабочим и ясным.
Лично я не знаю куда меньше, тут код в одну строку
0
|
9 / 9 / 4
Регистрация: 16.10.2012
Сообщений: 61
|
||||||
13.11.2013, 02:11 [ТС] | 7 | |||||
видимо, я не смог понятно объяснить задание. У нас, скажем
0
|
503 / 352 / 94
Регистрация: 22.03.2011
Сообщений: 1,112
|
|||||||||||
13.11.2013, 03:55 | 8 | ||||||||||
Еще как вариант (не проверял)
2
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|
13.11.2013, 11:32 | 9 |
Вы оперируете с байтами, а используете класс, который заточен на работу с битами. Почему бы просто не взять вектор каких-нибудь unsigned char.
P.S. собственно stima уже привел нечто подобное.
0
|
9 / 9 / 4
Регистрация: 16.10.2012
Сообщений: 61
|
|
13.11.2013, 19:37 [ТС] | 10 |
Вобщем, то что было предложено- не совсем то что мне нужно. Появился однако другой вопрос. Как можно инициализировать переменную типа bitset<32> переменной типа unsigned long? С простым long всё работало, но внезапно понадобился unsigned long.
0
|
9 / 9 / 4
Регистрация: 16.10.2012
Сообщений: 61
|
|
13.11.2013, 20:02 [ТС] | 12 |
на данный момент мне нужен ответ только на мой последний вопрос. Ибо прога написана, но не получается использовать unsigned long
0
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|
13.11.2013, 20:42 | 13 |
Странный вопрос, потому что конструктор принимает unsigned long. http://www.cplusplus.com/refer... et/bitset/
0
|
9 / 9 / 4
Регистрация: 16.10.2012
Сообщений: 61
|
|
13.11.2013, 20:58 [ТС] | 14 |
Это да, но почему то, инициализация переменной данного типа у меня не срабатывает. Пишет невозможно преобразовать "unsigned int" в "std::bitset<_Bits>"
0
|
9 / 9 / 4
Регистрация: 16.10.2012
Сообщений: 61
|
||||||
13.11.2013, 23:11 [ТС] | 16 | |||||
0
|
503 / 352 / 94
Регистрация: 22.03.2011
Сообщений: 1,112
|
||||||
13.11.2013, 23:16 | 17 | |||||
0
|
9 / 9 / 4
Регистрация: 16.10.2012
Сообщений: 61
|
|
13.11.2013, 23:26 [ТС] | 18 |
ну о чём я говорил, мне через переменную, которую я с клавиатуры вводить буду надо инициализировать битсет.
0
|
9 / 9 / 4
Регистрация: 16.10.2012
Сообщений: 61
|
|
13.11.2013, 23:48 [ТС] | 20 |
Ну вообще то, это в большинстве компиляторов одно и то же, так как в последних стандартах языка c++ long~int. Это раньше int бралось как shot. Тем не менее, даже если бы была разница сейчас, то на положение дел это никак не повлияло.
0
|
13.11.2013, 23:48 | |
13.11.2013, 23:48 | |
Помогаю со студенческими работами здесь
20
Bitset<0> Bitset на VC++ Bitset to int Задача по bitset Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |