В настоящее время я пишу счетчик дерева, где я столкнулся с следующей проблемой:
Я смотрю на маскированные биты, т.е. биты, где установленные биты являются подмножеством маски, т.е. 0000101 с маской 1010101. То, что я хочу выполнить, - это увеличение битового набора, но только по отношению к замаскированным битам. В этом примере результат будет 0010000. Чтобы сделать его более понятным, извлеките только маскированные биты, т.е. 0011, увеличьте их до 0100 и снова распределите их в биты маски, указав 0010000.
Кто-нибудь видит эффективный способ сделать это, не выполняя операцию вручную, используя комбинацию битканов и префиксных масок?