python 整除负数_负数取余/整除,Python和C语言的不同

总结一句:Python中负数整除,是向负无穷取整,所以导致负数取余不对 在数学公式中,两种语言的表示算法都是一样的,都是: r=a-n*[a/n] 以上,r是余数,a是被除数,n是除数. 唯一不同点,就是商向0或负无穷方向取整的选择,c从c99开始规定向0取整,python则规定向负无穷取整,选择而已. 向零取值的含义是:9/7=1 .29----向0取值-->1:-9/7=-1.29----向0取值------>-1 向负无穷取值的含义是:9/7=1 .29----向0取值-->1:-…

print(-123%10)   # 输出 7   print(-123%-10)  # 输出 -3 这里面第二条是我们一般意义上的取余操作.这里也特别标注一下,如果涉及到负数取余要用上述解决办法. 那么我们看第一条,结果等于7.这个结果有点让人摸不到头脑,不过这个结果与Python的底层机制有关. 在Python中,取余的计算公式与别的语言并没有什么区别:r=a-n*[a//n] 这里r是余数,a是被除数,n是除数. 不过在“a//n”这一步,当a是负数的时候,我们上面说了,会向下取整,也就是…

负数求余数运算是一个数学问题: 任何一个整数n都可以表示成 n=k*q+r 其中0<=|r|

今天看书发现python与C的负数取余运算结果不同,查资料理解. 取余运算的算法是相同的  r = a- n*(a/n)   n!=0 r是余数,a是被除数,n是除数.n不能为0,否则都会报错. 负数取余运算的区别在于除法的取整方向不同,C语言从C99开始规定向0取整,python规定向负无穷取整. python a%n的符号与n相同 -11//4 #值为-3 -11%4 -> (-11) -4*(-11//4) =1 #值为1 C语言 a%n的符号与a相同 -/ //值为-2 -% (-) -…

1:关于除法,不管是正数还是负数都是向0取整的:10/4 = 2,10/(-4) = -2 2:负数取余,通过取模来判定 |小| % |大| = |小| 符号同前    |大| % |小| = |余| 符号同前 3%4 = 3 : -3%4 = -3 : -3%-4 = -3 : 3%-4 = 3: 5%3 = 2 : 5%-3 = 2  :-5%-3 = -2 : -5%3 = -2: 3:浮点数转化为int整形时,小数部分会被省略,注意不是四舍五入~~…

PHP语言虽然功能强大,但并不代表其没有缺点,在编写代码的过程中未免会遇到一些让人头痛的问题.下面我们将为大家介绍有关PHP整数取余返回负数的解决办法. 我们先来看个例子. $res = 16244799483; echo $res%9999999; // 输出结果为 -5069794, 正确的结果应该是4801107 其实这也算上PHP一个BUG吧.最主要是PHP是个弱类型语言.他内置了机器来判断用户的类型. 但是机器毕竟是机器.也有判断出错的

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值