对2的幂求模

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

//当k为2的幂时,则y等于x的p个最低位数字。
int INT_BIT_SIZE = 32;//int由32bit组成
int x = 100;
int p = 5;
int k = (int)Math.Pow(2, p);
int y = x % k;

Console.WriteLine("y={0}", y);
//验证
int offset = INT_BIT_SIZE - p;
x = Math.Abs((x << offset) >> offset);//保留最后p位数字,求绝对值是为了忽略符号位。

Console.WriteLine("x={0}", x);

Console.Read();

//输出结果 y=4 x=4

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号