当前位置: 代码迷 >> 综合 >> 关于C++,Java与Python取余的不同
  详细解决方案

关于C++,Java与Python取余的不同

热度:30   发布时间:2024-01-19 06:57:09.0

C++,Java 取余都是向0取整

而Python是向下取整, 数学上通用的也是向下取整.

向0取整时,余数符号看被除数; 向下取整时,余数符号看除数.

取个例子

整数/整数 取余

c++/Java: 10/3=3...1

Python: 10/3=3...1

c++/java: 10/-3=-3...1

Python: 10/-3=-4...-2

可能有人比较懵, 取余的算法是 被除数-(被除数整除除数的结果)*除数=余数

c++/java向0取整, 10整除-3 ,取比-3.3333更靠近0为-3, 10-(-3*-3)=1

python向下取整,10 整除-3, 取比-3.3333小的整数为-4, 10-(-3*-4)=-2