求余和取模的计算公式

取余:rem(a,b) = a - b * fix(a / b)

取模:mod(a,b) = a - b * floor(a / b)

注:fix() 函数的取值是向 0 方向舍入取整,floor() 函数的取值是向负无穷方向舍入取整,且 b ≠ 0

例子 1:

rem(7,3) = 7 - 3 * fix(7 / 3) = 7 - 3 * 2 = 1 // 7 ÷ 3 = 2.33,向 0 方向舍入取整得 2
mod(7,3) = 7 - 3 * floor(7 / 3) = 7 - 3 * 2 = 1 // 7 ÷ 3 = 2.33,向负无穷方向舍入取整得 2
rem(-7,-3) = (-7) - (-3) * fix(-7 / -3) = (-7) - (-3) * fix(7 / 3) = (-7) - (-3) * 2 = (-7) + 6 = -1
mod(-7,-3) = (-7) - (-3) * mod(7 / 3) = (-7) - (-3) * 2 = -1

所以说,整数 a 和整数 b 如果符号相同,余数和模数相同。

注:(-7 / -3) = 7 / 3(-7) / 3 = (-1) * (7 / 3)

例子 2:

rem(-7,3) = (-7) - 3 * fix(-7 / 3) = (-7) - 3 * (-2) = -1 // (-7) ÷ 3 = -2.33,向 0 方向舍入取整得 -2
mod(-7,3) = -7 - 3 * floor(-7 / 3) = -7 - 3 * (-3) = 2 // -7 ÷ 3 = -2.33,向负无穷方向舍入取整得 -3

所以说,整数 a 和整数 b 如果符号不同时,余数和模数不相同。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值