我知道模数(%)的作用,它给你余数。但它如何做到这一点呢?我看到它使用的公式是:模=被除数-(被除数/除数)*除数10%3应该给你1 (10是被除数,3是除数),这个公式给出: 10-(10/3)*3 = 10-10 =0,这显然是错误的。
然后,使用纯变量,除数-(除数/除数)*除数=除数-除数=0
我在这里做错了什么?(另外,这个公式来自JASS,魔兽争霸3游戏中使用的语言)
发布于 2011-07-28 19:58:12
在公式中,(dividend / divisor)是一个整数除法,计算结果为一个整数。
因此,10-( 10 /3)*3 =10-9=1
发布于 2011-07-28 19:59:14
在许多使用C、C++、Java等的编程语言中,10/3会导致3,因为除法实际上是整数除法,小数部分被截断。
所以,换句话说,n/d只给出了商。
现在,从算术中我们知道,任何正整数n和任何正整数除数d,n都可以表示为:n= q*d + r。如果0≤r
在这些编程语言中,n/d给出了q。
所以,n- (n/d)*d =n- q*d = r,余数。
https://stackoverflow.com/questions/6858514
复制相似问题