除法运算转成位运算
实例九:除法运算转成位运算
方法:n>>k 等价于 n/(2^k)
右移一位相当于除以2。
比如 9/4=2 n=9,4=2^2 所以k=2,即右移2位。用9>>2可以实现。
解释:
原数 0000 1000 ----8
右移一位 0000 0100 ----4 相当于除以2
再右移一位 0000 0010 ----2
代码:
int _tmain(int argc, _TCHAR* argv[])
{
int n,k,nResult = 0;
cout << "请输入原始的值:";
cin >> n;
cout << endl<< "请输入要移的位:";
cin >> k;
nResult = n>>k;
cout << endl <<"结果为:"<< nResult;
system("pause");
return 0;
};