对2的幂求模

作者:追风剑情 发布于:2014-4-5 22:15 分类:Algorithms

  1. //当k为2的幂时,则y等于x的p个最低位数字。
  2. int INT_BIT_SIZE = 32;//int由32bit组成
  3. int x = 100;
  4. int p = 5;
  5. int k = (int)Math.Pow(2, p);
  6. int y = x % k;
  7.  
  8. Console.WriteLine("y={0}", y);
  9. //验证
  10. int offset = INT_BIT_SIZE - p;
  11. x = Math.Abs((x << offset) >> offset);//保留最后p位数字,求绝对值是为了忽略符号位。
  12.  
  13. Console.WriteLine("x={0}", x);
  14.  
  15. Console.Read();
  16.  
  17. //输出结果 y=4 x=4

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号