//当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