我需要使用数学方法的理论答案。它们之间是否存在数学上的差异?它们如何在编程语言中产生影响?截断分区与平面分区有什么区别?
回答
据Java的术语,“截断除法”的与“地板师”的问题最好是由RoundingMode
的Javadoc回答:
DOWN
入模式向零舍入。切勿在丢弃部分之前增加数字(即,截断)。请注意,该舍入模式不会增加计算值的大小。FLOOR
舍入模式轮向负无穷。如果结果是肯定的,则表现为RoundingMode.DOWN
;如果为负数,则表现为RoundingMode.UP
。请注意,该舍入模式决不会增加计算值。
Java的除法运算符是由JLS §15.17.2. Division Operator /
定义:
整除发朝0
这就是为什么5/-3
结果-1
。
您也可以看看“截断”与“地板”上Wikipedia的定义:
有舍入一些
y
整数q
,最常见的是很多方面:
回合下来(或取地板或向负无穷):
q
是不超过y
的最大整数。轮向上(或乘天花板,或轮朝正无穷):
q
是不小于y
的最小整数。轮向零(或截,或轮从无穷远):
q
是y
整数部分,没有它的分数数字。轮从零(或圆形向无穷)远:如果
y
是整数,q
是y
;否则q
是最接近于0的整数,并且是y
介于0和q
之间的整数。向最接近:
q
是最接近于y
(请参阅下面的附加规则)的整数。
正如你所看到的,Java和维基百科同意这个定义:
- 截断:向零舍入
- 楼:对负/负无穷大圆形
请注意,Java和维基百科disa grees on Round Down的意思。
您正在分割整数,所以结果将四舍五入到最接近的整数。改用浮点变量。
例如,您的问题的第二部分,1.0/2.0 = 0.5。
你应该改变你答案的第一部分。结果不是四舍五入的,否则2/3将是1.当它是正数时向下舍入,当负数时舍入。因此它向0整数。 –
这个问题已经用一个重复的标志关闭了,它甚至不回答标题中的实际问题,所以我将在这里添加一些信息:阅读Math.floorDiv()的JavaDoc, '。它解释了分区除法总是舍去,而截断除法(普通'/'运算符)总是向0舍入(即切断小数点后面的所有内容), –
- 1. 动态截断表分区
- 2. BigQuery Write截断分区表导致分区信息丢失?
- 3. ()和[]动态分配有什么区别?
- 4. 索引和分片有什么区别
- 5. lucene中的分组和分面有什么区别3.5
- 6. Hadoop批量分析与Hadoop实时分析有什么区别
- 7. 分而治之,分支与缩小有什么区别?
- 8. 段,卷和分区有什么区别?(在存储域中)
- 9. 有什么区别
- 10. 有什么区别
- 11. 有什么区别?
- 12. 有什么区别?
- 13. 有什么区别?
- 14. 有什么区别
- 15. 有什么区别?
- 16. 有什么区别?
- 17. 有什么区别
- 18. 有什么区别
- 19. 截断分区后索引的命运
- 20. 地板功能和截断功能有什么区别?
- 21. 平台和框架有什么区别?
- 22. GHC和Haskell平台有什么区别?
- 23. DocumentDB与分区类别
- 24. 有什么区别`和$(Bash中有什么区别?
- 25. 继承与类别有什么区别
- 26. 平面分割和平面拟合之间的区别
- 27. 什么区别
- 28. 风险分析与风险缓解有什么区别?
- 29. 分配到出口与模块之间有什么区别?
- 30. MultiAgent Systems与分布式计算有什么区别
取决于你的*美化减法*的概念。你是什么意思? –
@ChandlerBing由于“5 * 5”只是“5 + 5 + 5 + 5 + 5”,乘法只是得到了美化,同样的分割也只是美化减法。 12-3 = 12-3 = 9(1)9-3 = 6(2)6-3 = 3(3)3-3 = 0(4)因此*** 4 ***是我们的答案。 –
无论是简化乘法作为*荣耀加法*都不考虑负数。例如。如果'3 * 7 = 7 + 7 + 7',那么'-3 * 7'是什么?你不能在自己的'-3'次加上'7'。 *辉化减法*也可以简化分割。所以,不要试图简化。或者,如果你坚持,先提取负号,然后再次申请。 ---另外,问题标题应该是问题文本的*摘要*,而不是完全不同的问题。 – Andreas