小编Ell*_*iot的帖子

在C++中使特定位"0"

我是编程新手.最近我遇到了一个问题,我必须在一个数字的特定位0.

例如 :

我有一个数字p

p      = 73
binary = 1001001
Run Code Online (Sandbox Code Playgroud)

现在我想将第4位设为0,即1000001(2)= 65(10)

我是按照以下方式做到的:

int p = 73;
int pos = 1<<3; // 4th bit
int max_bit = (1<<31) - 1; // making all bit to 1
int mask = pos ^ max_bit; // making 4th bit to 0 except others
p = p & mask; // changing 4th bit of p to 0
cout<<p<<endl;
Run Code Online (Sandbox Code Playgroud)

有一个更好的方法吗 ?

c++ bit

11
推荐指数
1
解决办法
1369
查看次数

标签 统计

bit ×1

c++ ×1