首页新闻找找看学习计划

python 正数除以负数取余

0
悬赏园豆:10 [已解决问题] 解决于 2019-10-11 10:40

今天被女朋友一个问题问住了,python中:
print(9 % (-4))
结果为什么是“-3”,请教一下各位。

正态分个布的主页 正态分个布 | 初学一级 | 园豆:159
提问于:2019-07-22 13:55
< >
分享
最佳答案
0

因为9/4=2......1 当然是3呀。python不是四舍五入的吧

收获园豆:10
朱雀云丹 | 菜鸟二级 |园豆:214 | 2019-07-22 15:56
其他回答(3)
0

好像不同的语言对负数mod运算规则不一样,楼主你问问你女朋友,然后公布下答案可否?

会长 | 园豆:5278 (大侠五级) | 2019-07-22 17:12

不好意思,过了那么久才回。
我后来又问了几个人,最后总结出比较合理的解释如下:
9 % (-4) >>> 整数部分,为 -2,小数部分为-0.25,由于python语言对运算符的编译(由python开发者决定的),在计算机内存中,python的 “%”运算符,除不尽的会向前移位,比方说:如果结果是5.1,就会返回5,如果是 -5.1,就会编译成 -6,然后返回给你。

支持(0) 反对(0) 正态分个布 | 园豆:159 (初学一级) | 2019-10-11 10:36

@正态分个布: 楼主不愧是研究数学的

支持(0) 反对(0) 会长 | 园豆:5278 (大侠五级) | 2019-10-11 10:58

@会长: 大佬过奖了,只是有点绕而已

支持(0) 反对(0) 正态分个布 | 园豆:159 (初学一级) | 2019-10-11 11:00
0

诚如“会长”所言

花飘水流兮 | 园豆:10177 (专家六级) | 2019-07-22 18:03

不好意思,过了那么久才回。
我后来又问了几个人,最后总结出比较合理的解释如下:
9 % (-4) >>> 整数部分,为 -2,小数部分为-0.25,由于python语言对运算符的编译(由python开发者决定的),在计算机内存中,python的 “%”运算符,除不尽的会向前移位,比方说:如果结果是5.1,就会返回5,如果是 -5.1,就会编译成 -6,然后返回给你。

支持(0) 反对(0) 正态分个布 | 园豆:159 (初学一级) | 2019-10-11 10:36
0

后来又问了几个人,最后总结出比较合理的解释如下:
9 % (-4) >>> 整数部分,为 -2,小数部分为-0.25,由于python语言对运算符的编译(由python开发者决定的),在计算机内存中,python的 “%”运算符,除不尽的会向前移位,比方说:如果结果是5.1,就会返回5,如果是 -5.1,就会编译成 -6,然后返回给你。

正态分个布 | 园豆:159 (初学一级) | 2019-10-11 10:37
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册