分类: Python/Ruby
2012-07-10 19:31:52
1.除法运算
1.1 有一个操作数为负数
被除数到除数的距离整除除数,得到的数字加上符号便得到结果。
例如:-27/10
-27到10的距离为37,37/10 = 3,于是-3便是表达式的结果。
27/-10
27到-10的距离为37,37/10 = 3,于是-3便是表达式的结果。
1.2 操作数全为正数(略)
1.3 操作数全为负数(略)
2. 取模运算
2.1 操作数全为正整数
X和Y均为正整数 X/Y的结果为Z
则X%Y = X-(X*Z)
例如:
2.2 有一个操作数为负数
X和Y均为有一个为负整数,一个为正整数 X/Y结果的绝对值为Z,
则X%Y 的结果是 |X| -(|Y| * Z),符号位和Y相同。
例如: 26%-20
26/-20 = -2,故Z = 2;
|26| -(|-20| * 2) = 26 -40 = -14
由于除数Y为-20,故 26%-20 = -14
-26%20
-26/20 = -2,故Z = 2;
|-26| -(|20| * 2) = 26 -40 = -14
由于除数Y为20,故 -26%20 = 14
2.3 两个操作数都为负数
值的大小和两个操作数绝对值取模的结果相同,不过符号相反。
总结:除法中商的正负由两个操作数共同决定,相同为正,相异为负。
取模运算,结果的符号由第二个操作数的符号决定。
hongweichen2019-09-24 11:24:33
> 被除数到除数的距离整除除数,得到的数字加上符号便得到结果。
如果是 -20 / 10 ,按这个流程会得到结果 -3。 但实际的结果是 -2 才对。 总之这个说明没考虑整除的情况。