Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:为什么7/-3是-2?_Java_Division - Fatal编程技术网

Java:为什么7/-3是-2?

Java:为什么7/-3是-2?,java,division,Java,Division,为什么在Java7/-3中不是-3?它是-2。我在想除法的结果是四舍五入的。在Python2中是-3。java中还有其他除法规则吗 java中还有其他除法规则吗 像往常一样,对于这样的问题,你应该去。在这种情况下,相关章节为: 整数除法向0舍入。也就是说,在二进制数字提升(§5.6.2)后为整数的操作数n和d生成的商是一个整数值q,其大小在满足|d>的同时尽可能大⋅ q|≤ |n |。此外,当|n|≥ |d和n和d具有相同的符号,但是q在|n>时为负数≥ |d |和n和d有相反的符号 请注意,这

为什么在Java7/-3中不是-3?它是-2。我在想除法的结果是四舍五入的。在Python2中是-3。java中还有其他除法规则吗

java中还有其他除法规则吗

像往常一样,对于这样的问题,你应该去。在这种情况下,相关章节为:

整数除法向0舍入。也就是说,在二进制数字提升(§5.6.2)后为整数的操作数
n
d
生成的商是一个整数值
q
,其大小在满足
|d>的同时尽可能大⋅ q|≤ |n |
。此外,当
|n|≥ |d
n
d
具有相同的符号,但是
q
|n>时为负数≥ |d |
和n和d有相反的符号

请注意,这种“舍入”并不像您预期的那样是“中点舍入”,例如:-99/50是-1。实际上,它是向0截断的

至于为什么Java选择使用这种方法,而Python选择取而代之的是取而代之的四舍五入方法,您可能需要询问语言设计者。每个选项在某些情况下都是有用的,而在另一些情况下则是痛苦的。您可能会发现,在Python中,余数操作符的工作方式也不同——这两个决策通常是相互关联的,例如(从第节):

二进制数字提升(§5.6.2)后的整数操作数的余数运算产生一个结果值,使得
(a/b)*b+(a%b)
等于
a