实例三:将n的k位清0
方法: result= n &~(1<<k) 使第k为变成0,再与运算,0和任何数进行与运算都是0。
解释:
0000 0001 ---- 1
左移k位 0000 1000
取反操作 1111 0111
原数 1111 1111
取反后与原数进行与操作
结果 1111 0111 ---- k清零
int _tmain(int argc, _TCHAR* argv[])
{
int n,k,nResult=0;
cout << "请输入原始的值:";
cin >> n;
cout << endl << "请输入取反位数:";
cin >> k;
nResult = n &~(1<<k);
cout <<endl<< "结果为:" << nResult;
system("pause");
return 0;
};