|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
05.12.2012, 09:43 | #1 |
Пользователь
Регистрация: 10.03.2010
Сообщений: 30
|
Вытащить число из 14 последовательных разрядов
Есть 3 байта. Искомое мне число находится в 4 младших битах первого байта, целом байте следующего и двум старшим битам последнего байта:
(----++++) (++++++++) (++------) + - нужные биты Каждый байт представлен как buf[1], следующий байт buf[2]... и объявлен как BYTE* buff; Требуется вытащить оттуда десятичное число, которое там хранится. Мои попытки: Код:
|
05.12.2012, 09:54 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
на первый байт наложите через логический "AND" маску 0x0f перед сдвигом..
я не знаю C, предполагаю, что это может выглядеть примерно так: Код:
Кроме того, разве нумерация в массиве не от нуля идёт?! Последний раз редактировалось Serge_Bliznykov; 05.12.2012 в 09:56. |
05.12.2012, 10:03 | #3 |
Пользователь
Регистрация: 10.03.2010
Сообщений: 30
|
сделал:
Код:
|
05.12.2012, 10:04 | #4 |
Пользователь
Регистрация: 10.03.2010
Сообщений: 30
|
PS у меня другая нумерация, просто тут для наглядности написал так)
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Получение разрядов IP адреса. | denis76560 | Общие вопросы Delphi | 8 | 02.08.2012 19:00 |
разделение десятичных разрядов | SAMOUCHKA | Общие вопросы C/C++ | 3 | 29.02.2012 22:06 |
определить кол-во разрядов | Регина56 | Помощь студентам | 5 | 07.06.2011 16:28 |
Мантисса 6 разрядов | mastar | Помощь студентам | 2 | 26.03.2011 18:10 |
Edit с разделением числовых разрядов | XPAiN | Компоненты Delphi | 7 | 16.04.2008 12:51 |