如何对变量的某一特定比特赋值

今天遇到一个需求,是需要对一个32位无符号整型的某一比特进行赋值,初一想并无什么可行的方案,搜索引擎看一下,给出的方案是赋值为1和赋值为0两种情况下分别处理,即

// 1
a |= (1 << i);
// 0
a ^= ~(1 << i);

但我我们这行里,分支语句是不招人喜欢的,是不是有直接赋值的方法呢,先留个坑在这里

posted @ 2022-05-10 23:23  火腿烧豆腐  阅读(119)  评论(0编辑  收藏  举报