分享一下我老师大神的人工智能教程吧。零基础,通俗易懂!风趣幽默!http://www.captainbed.net/也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴! 取余是一个比较常见的运算,在各种编程语言中均有相应的运算符(Java/C的%, Pascal/Delphi的mod等等)
Java取余运算符 (%)
一个表达式的值除以另一个表达式的值,返回余数。
result = number1 % number2
参数
result 任何变量
number1 任何数值表达式
number2 任何数值表达式。
说明
取余(或余数)运算符用 number1 除以 number2 (把浮点数四舍五入为整数),然后只返回余数作为 result。例如,在下面的表达式中,A (即 result)等于 5。
A = 19 % 6.7
通常取模运算也叫取余运算,他们都遵循处罚法则,返回结果都是余数;
Java中取余运算具有如下性质:对所有int数值a和所有非零int数值b满足:
(a / b ) * b + (a % b) == a;
这意味着当取余操作返回一个非零的结果时。它与左操作数具有相同的正负符号
但是仔细看是不一样的,详细请看实例:
1.取余
rem(3,2)=1
rem(-3,-2)=-1
rem(3,-2)=1
rem(-3,2)=-1
2.取模
mod(3,2)=1
mod(-3,-2)=-1
mod(3,-2)=-1
mod(-3,2)=1
由此可以看出,rem和mod是有符号区别的!
当除数与被除数的符号相同时,rem和mod的结果是完全相同的;当除数与被除数的符号不相同时,结果不同。
具体说,rem结果的符号与被除数相同;mod结果的符号与除数相同。