![]() |
|
Модераторы: bsa |
![]()
|
|
| Userman |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 80 Регистрация: 21.8.2008 Репутация: нет Всего: нет |
Есть ли готовые функции для чтения чисел из массива байт от некоторого бита некоторого байта до некоторого бита некоторого байта?
Например: надо прочитать число 01010101 10101010 ^ ^ | | отсюда досюда |
|||
|
||||
| smoke_man |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 447 Регистрация: 25.1.2007 Где: Рязань Репутация: нет Всего: 17 |
можно попробывать использовать bitset из STL
-------------------- 0x2b|~0x2b |
|||
|
||||
| Userman |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 80 Регистрация: 21.8.2008 Репутация: нет Всего: нет |
ещё что-нибудь можно попробовать?
Добавлено через 13 минут и 18 секунд допустим считал в bitset по биту. чем теперь устанавливать из него значения переменных? |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 1 Всего: 146 |
можно , поставьте более конкретно задачу , читать с какого бита до какого или что делать ?
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| Userman |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 80 Регистрация: 21.8.2008 Репутация: нет Всего: нет |
С какого потребуется. Например:
01010101 01010101 01010101 01010101 01010101 01010101 01010101 | | отсюда например досюда распологаются числа каждое состоит из N цифр (необязательно кратно 8). Надо их получить. Это сообщение отредактировал(а) Userman - 19.12.2008, 12:54 |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 1 Всего: 146 |
тобишь типа сдвига делать с занулением не нужных бит?
если размер числа не будет выходить за пределы машиного слова 32 бита то проблем больших нет ежели большие числа нужно , тогда или стороний код реализации (как выше посоветовали) или самому реализовывать данный интерфейс -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| Userman |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 80 Регистрация: 21.8.2008 Репутация: нет Всего: нет |
Выходить за пределы не будет.
Как в bitset загрузить несколько идущих подряд байтов? |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Userman, если тебе достаточно считать N бит с позиции P (P, P-1, ... (P-N+1) ) от числа типа unsigned long, то можно воспользоваться стандартными методами языка:
|
|||
|
||||
| Userman |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 80 Регистрация: 21.8.2008 Репутация: нет Всего: нет |
Ну там оно необязательно всё в одном байте, может в одном байте начаться, а закончиться в другом.
В общем разобрался с bitset, всё работает как надо. |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |