12.04.2016, 10:41
Quote:
Всем привет.
Имеется число 0b01 (после 0b могут быть любые две цифры от 0 до 1). Нужно вывести отдельно первый и второй бит в виде десятичных чисел. Первый бит можно получить сдвигом: Code:
(0b01 >> 1) // Вернет 0 P.S Туплю наверно... |
Code:
new shift = 1; // 0 .. 31 new val = 0b101; new bitn = (val >> shift)&1;
нумерация битов в 0b записи следующая:
0b(31, 30, ... 1, 0) [а если 0b101 - 0x(2, 1, 0)]
Так что в твоём коде ты вытаскивал не первый бит, а второй(если бы добавил &1).