@WTFAYD

Как задать значения для диапазона битов в переменной?

Здравствуйте!

Требуется сделать значения битов равными 1 в определенном диапазоне в 64-битном unsigned long, оставив остальные биты без изменения. Например, 0x000100100fe80010 должно превратиться в 0xffffffffffefffff, т.е. диапазон fe в числе остается без изменения. Подскажите, как это сделать?
  • Вопрос задан
  • 190 просмотров
Пригласить эксперта
Ответы на вопрос 1
15432
@15432
Системный программист ^_^
Установить 15 бит в 1:
var |= (1 << 14);
Установить 15 бит в 0:
var &= ~(1ul << 14);

Установить как вы просили:
var= 0x000100100fe80010ul | 0xfffffffff00ffffful;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы