44 / 44 / 12
Регистрация: 05.04.2015
Сообщений: 345
|
|
1 | |
Побитовые операции18.06.2017, 18:52. Показов 1304. Ответов 4
Метки нет (Все метки)
Есть число 0x7с1b. Перевожу его в двоичный вид - 0111110000011011. Каждый бит за что то отвечает. Но некоторые биты сгруппированы. То есть первый бит - отдельно, второй отдельно и т.д. Надо просто проверить их значение. Тут несложно. 8 и 9 идут вместе. Как с помощью побитовых операции сравнить 8 и 9 биты с двоичными числами 00, 01,10,11; 10-14 биты тоже сгруппированы и их тоже надо сравнить по аналогии с 8 и 9 но уже с 5 битовым числом
0
|
18.06.2017, 18:52 | |
Ответы с готовыми решениями:
4
Побитовые операции Побитовые операции Побитовые операции Побитовые операции |
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
|
||||||
18.06.2017, 19:12 | 2 | |||||
Для 8 и 9 битов:
0
|
44 / 44 / 12
Регистрация: 05.04.2015
Сообщений: 345
|
|
18.06.2017, 19:31 [ТС] | 3 |
Забыл написать что 0x7c1b - это не константа. Там может быть другое число.
y = (x >> 8) & 3 . Так слева останутся цифры. Может сдвигать сначала влево на 5 (биты начинаются с нуля) а потом влево на 8, а потом сравнить?
0
|
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
|
|
18.06.2017, 19:46 | 4 |
Сообщение было отмечено kolts как решение
Решение
Мы их отсекаем с помощью & 3. Останутся только нужные нам разряды, сдвинутые в начало числа.
Добавлено через 1 минуту У меня x - это переменная, в ней может быть всё что угодно.
0
|
44 / 44 / 12
Регистрация: 05.04.2015
Сообщений: 345
|
|
18.06.2017, 20:22 [ТС] | 5 |
Точно, я не догадался. Не имел дело раньше с битовыми операциями.
Я просто думал что слева остаются цифры и в свитче мы сравниваем с константами. Перемешались в голове биты байты хексы. Но сейчес разобрался.
0
|
18.06.2017, 20:22 | |
18.06.2017, 20:22 | |
Помогаю со студенческими работами здесь
5
Задача на побитовые операции Побитовые операции с float Побитовые операции, основы Задача на падежи (побитовые операции) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |