Побитовые операции - C (СИ) (147791)
Формулировка задачи:
Есть число 0x7с1b. Перевожу его в двоичный вид - 0111110000011011. Каждый бит за что то отвечает. Но некоторые биты сгруппированы. То есть первый бит - отдельно, второй отдельно и т.д. Надо просто проверить их значение. Тут несложно. 8 и 9 идут вместе. Как с помощью побитовых операции сравнить 8 и 9 биты с двоичными числами 00, 01,10,11; 10-14 биты тоже сгруппированы и их тоже надо сравнить по аналогии с 8 и 9 но уже с 5 битовым числом
Решение задачи: «Побитовые операции»
textual
Листинг программы
y = (x >> 8) & 3; // 3 равно 11 в двоичной системе switch (y) { case 0: ... case 1: ... case 2: ... case 3: ... }
Объяснение кода листинга программы
x
- исходное значение переменной, которое требуется обработать.y
- результат побитовой операции>>
и&
, сохраненный в этой переменной.3
- значение, которое будет присвоено переменнойy
, если результат побитовой операции>>
и&
будет равен 3.- ... - место для кода, который будет выполнен в зависимости от значения переменной
y
. В данном случае, поскольку у нас только 4 варианта значенияy
, то у нас будет 4 блока кода, которые будут выполнены в зависимости от значенияy
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д