考虑整数除法其中a,b,q,r分别为:被除数,除数,商和余数。特别是当b=0时,对于给定的a,不存在满足方程的唯一q,因此在这种情况下商q应该是未定义的。然而,在这种情况下,确实存在唯一的r,即r= a。在商和余数总是一起定义的前提下,每当q未定义时,就会得出r不定义,但在编程中,我们经常希望使用余数运算%而不考虑除法/。我实际上遇到了一个我想要if b == 0
这里有一个简单的函数,我和C++一起用它来模拟简单的镶嵌形式。这个函数需要一个数字和一个除数。除数必须是(2-1的幂),n在0和除数之间.它返回一个模的结果n% (d+1)使用位&。相当肯定的是,该函数如下:
unsigned int BitwiseMod(unsigned int n, unsigned int d){ return n & d;