乘法运算转成位运算

实例八:乘法运算转成位运算


方法:n<<k      等价于   n*(2^k)
左移一位相当于乘以2。

比如 9*4=36 n=9,4=2^2 所以k=2,即左移2位。用9<<2可以实现;

解释:

原数        0000 0010 ----2
左移一位    0000 0100 ----4     相当于乘2
再左移一位   0000 1000 ----8

代码:
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;
};:

posted @ 2017-03-28 16:42  gd_沐辰  阅读(1509)  评论(0编辑  收藏  举报