非正数除法在 c++ 和 python 编程语言中完全不同:
//c++:
11 / 3 = 3
11 % 3 = 2
(-11) / 3 = -3
(-11) % 3 = -2
11 / (-3) = -3
11 % (-3) = 2
(-11) / (-3) = 3
(-11) % (-3) = -2
因此,如您所见,c++ 正在最小化商。然而,python 的行为是这样的:
#python
11 / 3 = 3
11 % 3 = 2
(-11) / 3 = -4
(-11) % 3 = 1
11 / (-3) = -4
11 % (-3) = -1
(-11) / (-3) = 3
(-11) % (-3) = -2
我不能编写自己的除法函数,其行为类似于 c++,因为我将使用它来检查 c++ 计算器程序,而 python 不支持中缀运算符。我可以让python表现得像c++一样,同时以简单的方式划分整数吗?例如,设置一些标志或类似的东西?