我是编程新手.最近我遇到了一个问题,我必须在一个数字的特定位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)
有一个更好的方法吗 ?