为了账号安全,请及时绑定邮箱和手机立即绑定

具有负值的模数运算-很奇怪吗?

具有负值的模数运算-很奇怪吗?

弑天下 2021-03-21 16:47:05
你能告诉我多少钱(-2) % 5吗?根据我的Python解释器,它是3,但是您对此有一个明智的解释吗?我读过某些语言的结果可能与机器有关,但是我不确定。
查看完整描述

3 回答

?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

顺便说一句:大多数编程语言会不同意Python并给出结果-2。根据模量的解释,这是正确的。但是,最公认的数学定义是ab的模数是a / b除法的(严格为正)余数r。更确切地说,0 <= r < b定义为。


查看完整回答
反对 回复 2021-03-22
?
海绵宝宝撒

TA贡献1809条经验 获得超8个赞

您的Python解释器是正确的。一种计算模数的(愚蠢的)方法是减去或增加模数,直到结果值介于0和(模数− 1)之间。

例如:13 mod 5 =(13-5)mod 5 =(13-10)mod 5 = 3

或您的情况:−2 mod 5 =(−2 + 5)mod 5 = 3


查看完整回答
反对 回复 2021-03-22
  • 3 回答
  • 0 关注
  • 262 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号