Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как "разбить" 1 байт на 4 группы по 2 бита.


AlexanderMS ©   (2008-01-30 19:56:00) 

Например, есть однобайтное число 182, представленное последовательностью бит:
10110110
Нужно его "разбить" на массив из четырёх чисел (однобайтных), которые в двоичном виде представлены так:
10, 11, 01, 10- то есть 2, 3, 1 и 2 соответственно.

Подскажите, пожалуйста, наиболее быстрый по скорости выполнения способ решения такой задачи.


гостъ   (2008-01-30 20:33:00) [1]

[1] +

1 = 182 and 3
2 = (182 shr 2) and 3
3 = (182 shr 4) and 3
4 = (182 shr 6) and 3

;)


palva   (2008-01-30 20:24:00) [2]

Подготовить массив [0..255] четырехбайтовых записей с ответами на все случаи. Получать к нему доступ по индексу равному исходному однобайтовому числу.


Игорь Шевченко   (2008-01-30 20:21:00) [3]

AND
SHR


Наверх

Титульная страница Поиск, карта сайта Написать письмо