Вдоль строк Как прочитать 1 бит флага и получить целое число одновременно , задаюсь вопросом, как сделать обратное, записать флаг справа от 7-битного числа в JavaScript .
Я предполагаю, что мы просто используем целые числа в JavaScript, и в коде есть проверки, чтобы убедиться, что число <128. Поэтому, задаваясь вопросом, как сказать: </p>
var flag = true var integer = 123 var combined = integer + flag
On 123 самый правый бит уже установлен. Если вы хотите установить самый правый бит, просто добавьте его. Или вы можете integer | flag ? 1 : 0 до целого числа.
123
integer | flag ? 1 : 0
Если вы хотите поставить флаг справа, сдвиньте целое число влево с помощью integer << 1, а затем var combined = integer | flag ? 1 : 0
integer << 1
var combined = integer | flag ? 1 : 0
Вы можете использовать побитовый оператор для достижения этого
var flag = true; var integer = 123; console.log((integer >>> 0) + flag);
Вы можете сохранить объединенное число, сдвинув бит в целое число и добавив флаг.
const combined = (integer << 1) + flag
Этого будет достаточно, и вам вернут номер. Скобки необходимы из-за порядка операций.