根据这个答案,如果我想检查一个数字是另一个数字的倍数,我可以使用余数运算符%
。
if( number % anotherNumber == 0 ) {
number is a multiple of anotherNumber
}
然而,在这个充满了故意过度设计的代码的有趣项目中,他们使用了以下方法:
// int number;
// int anotherNumber;
if ((((int)(number / anotherNumber)) * anotherNumber == number)) {
number is a multiple of anotherNumber
}
它实际上是除以number
然后anotherNumber
乘回来并检查结果是否为number
.
第二种方法是否有任何实际意义,还是只是故意过度设计?