除法运算转成位运算

实例九:除法运算转成位运算


方法: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;
};