负数求余,Python和C++的不同

先上例子
In [1]: -3 % 10
Out[1]: 7
root [0] -3 % 10
(int) -3

分析原因:

在数学公式中,两种语言的求余数的算法都是一样的:

余数 = 被除数 - 除数 * 商

唯一的区别是,整除(即公式中的商)在两种语言中是不同的。

  • C:从c99开始规定向0取整
  • python:向负无穷取整
再上个例子:
In [1]: -3 // 10
Out[1]: -1
root [0] -3 / 10
(int) 0

将商带入公式,就可以解释为什么第一个例子中两种语言得到不同的余数了。


 上一篇
基于Docker的Hexo博客搭建 基于Docker的Hexo博客搭建
1. 准备知识首先我们需要先了解一下docker的常用命令和hexo的常用命令 Docker准备知识:# ****************************** 容器 ****************************** #
2018-12-04
下一篇 
神经网络动量因子 神经网络动量因子
反向传播算法中,学习率 $\eta$ 越小,每次迭代下降的步长越小,轨迹空间越平滑,学习速度越慢,提 $\eta$ 会加快学习速度,但网络权值的变化不稳定。为此,D.E. Rumlhart提出一种,既能加快学习速度,又能保持稳定的改进方法。
2018-12-04
  目录