|
5 / 5 / 1
Регистрация: 13.05.2008
Сообщений: 96
|
|
битовая маска23.09.2008, 15:44. Показов 45406. Ответов 28
Метки нет (Все метки)
как использовать битовую маску? за пример можно взять выделение k-того разряда из n-разрядного числа (в пофиг какой системе исчесления).
0
|
|
| 23.09.2008, 15:44 | |
|
Ответы с готовыми решениями:
28
битовая маска
Как обратиться к объекту bitset так, чтобы результатом была битовая маска |
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 23.09.2008, 17:08 | |
|
0
|
|
|
Почетный модератор
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
||
| 23.09.2008, 17:09 | ||
|
0
|
||
|
5 / 5 / 1
Регистрация: 13.05.2008
Сообщений: 96
|
|
| 23.09.2008, 17:16 [ТС] | |
|
ну, можно много еще чего придумать.
мне нужно обрабатывать числа, вводимые с клавиатуры, с каждым разрядом работать отдельно.
0
|
|
|
42 / 42 / 4
Регистрация: 14.09.2008
Сообщений: 683
|
|
| 05.10.2008, 12:34 | |
|
Ну а еще проще:
Под 1 байт отводится 8 бит максимальное число 11111111 = 286331153 Соответсвенно 2 байта 8*2 = 16(единиц максимальное число) 3 байта 8*3 = 24(единиц максимальное число) 4 байта 8*4 = 32(единиц максимальное число) 120 = 1111000(тут 7 бит из 8 ) поэтому недостающие биты пишем 0 120 = 01111000 но в идеале первой всегда идет 1. 10 = 1010(4 из 8 ) 10 = 00001010 120 и 10 влазят в 1 байт поэтому недостающие биты ставим в 0. Если бы это было число по больше использующее к примеру 2 байта(16 бит) 0000000111111111 тут 9 единиц значит уже больше 1 байта поэтому в 0 мы выставляем все остальное до 16 бит. & - операция оставляет 1 там где бит = 1 в обоих числах. 01111000 & 00001010 --------- 00001000 Тут и на глаз видно, что 1 только в одном месте остается. Получаем 1000 в 16 системе. Если что не так написал, не ругайте))) Я это понимаю именно так)
0
|
|
|
Почетный модератор
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
| 05.10.2008, 12:41 | |
|
TGrey[WoLf], все это хорошо и красиво,просто беда в том, что ему не бит нужен, а разряд в числе... мы поначалу ему тоже про булевую алгебру рассказывали
0
|
|
|
4y4z
|
||
| 12.02.2010, 13:20 | ||
|
Итак следующая проблема: есть char buff[24]; Согласно спецификации это строка вида AAABBBCCDDEFGHIJKLLLLMM. ААА - 3-байтовое значение, где младшие 23 бита это целое неотрицательное число и т.д. Как правильно выделить эти самые младшие биты из числа? Корректен ли в данном случае такое вариант: uint value = (buff[0]) | (buff[1] << 8) | (buff[2] << 16); Или же нужно накладывать битовые маски на целочисленное представление этих самых трех байт? ТО есть к примеру для E (целое неотрицательное число от 0 до 127) из этого же самого буфера получение младших 7 бит будет так: E = E&01111111; |
||
|
230 / 227 / 65
Регистрация: 18.12.2009
Сообщений: 316
|
|
| 12.02.2010, 16:05 | |
|
Все правильно сделали. Просто под конец нужна маска. Ведь Вы хотите затереть 24-ый бит.
тогда Value|=buff[0]|buff[1]<<8|buff[2]<<16; Value&=0x7FFFFF; 7FFFFF это 23 бита установленые в 1 и 24-ый в 0 В данном случае легко использовать 16 ричное представление, для определения маски.
0
|
|
|
|
|
| 12.02.2010, 17:19 | |
|
MsDos, я правильно понимаю, что постановка задачи следующая: например есть число в десятичной записи 1234567. Нужно выделить в этой десятичной записи третий с конца десятичный разряд (т.е. 5). Так чтоли? Если так, что через битовые операции этого не сделать
0
|
|
|
3 / 3 / 2
Регистрация: 25.04.2014
Сообщений: 87
|
||||||
| 11.03.2015, 13:16 | ||||||
|
Помогите разобраться с битовой маской, есть вектор F[10] равный в dec 137 hex 89 bin 10001001 Применяю сдвиг и маску
cout <<bitset<8>((F[10]>> 4)& 00000111); Получаю: 00001000 Я не понимаю как так выходит, если я сдвинул на четыре вправо остается 00001000 применяем маску 00000111 должно было выйти 00000000 Что я не верно делаю??? скидываю свой код если нужен.
Исправил косяк был в использовании двоичного кода надо было вместо 00000111 писать 7
0
|
||||||
| 11.03.2015, 13:16 | |
|
Битовая сортировка!
Битовая арифметика Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . .
Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
|
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг.
Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует.
В процессе разработки. . .
|
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
|