您当前的位置: 首页 > 

liaowenxiong

暂无认证

  • 3浏览

    0关注

    1171博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

求余和取模的计算公式

liaowenxiong 发布时间:2021-06-16 17:14:25 ,浏览量:3

取余: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 如果符号不同时,余数和模数不相同。

关注
打赏
1661566967
查看更多评论
立即登录/注册

微信扫码登录

0.0846s