![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
gpepsi |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 14.3.2010 Репутация: нет Всего: нет |
есть битовый поток в виде массива байт. Данные находятся в памяти так
11011000-11100011-... ^-----------------------^ |--- 1 бит--------------|------ 16 бит то есть в первом байте старший бит - первый в битовом потоке. А младший бит последнего байта - последний бит в потоке Поток приходит произвольной длинны. Получается, что данные первых 3 бит = 6 Нужно быстро выкусить набор бит из потока размером не более int64. Как это сделать ? |
|||
|
||||
500mhz |
|
|||
![]() шайтан ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: нет Всего: 14 |
5 раз прочитал - не понял
у тебя массив в 64 бита максимум 1) сколько бит оттуда нада "выкусить"? 2) откуда "выкусывать" ? с начала массива? с конца? -------------------- |
|||
|
||||
gpepsi |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 14.3.2010 Репутация: нет Всего: нет |
нет - десятки байт пока не более int64 с любого места Добавлено через 8 минут и 39 секунд ну представьте набор байт в памяти. Для простоты из 3 байт CF-B2-48 11001111-10110010-01001000 b0 - 1 b1 - 1 b3 - 0 b4 - 0 ... b23- 0 Нужно, например, взять число b7-b12 Это будет 11011 - 27 |
|||
|
||||
math64 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 8 Всего: 72 |
но предупреждаю: не тестировал |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |