2017-05-30 98 views
-5

我需要使用数学方法的理论答案。它们之间是否存在数学上的差异?它们如何在编程语言中产生影响?截断分区与平面分区有什么区别?

+0

取决于你的*美化减法*的概念。你是什​​么意思? –

+0

@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 ***是我们的答案。 –

+0

无论是简化乘法作为*荣耀加法*都不考虑负数。例如。如果'3 * 7 = 7 + 7 + 7',那么'-3 * 7'是什么?你不能在自己的'-3'次加上'7'。 *辉化减法*也可以简化分割。所以,不要试图简化。或者,如果你坚持,先提取负号,然后再次申请。 ---另外,问题标题应该是问题文本的*摘要*,而不是完全不同的问题。 – Andreas

回答

1

据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的最小整数。

  • 轮向零(或,或轮从无穷远):qy整数部分,没有它的分数数字。

  • 轮从零(或圆形向无穷)远:如果y是整数,qy;否则q是最接近于0的整数,并且是y介于0和q之间的整数。

  • 向最接近q是最接近于y(请参阅下面的附加规则)的整数。

正如你所看到的,Java和维基百科同意这个定义:

  • 截断:向零舍入
  • 楼:对负/负无穷大圆形

请注意,Java和维基百科disa grees on Round Down的意思。

0

您正在分割整数,所以结果将四舍五入到最接近的整数。改用浮点变量。

例如,您的问题的第二部分,1.0/2.0 = 0.5。

+0

你应该改变你答案的第一部分。结果不是四舍五入的,否则2/3将是1.当它是正数时向下舍入,当负数时舍入。因此它向0整数。 –

+1

这个问题已经用一个重复的标志关闭了,它甚至不回答标题中的实际问题,所以我将在这里添加一些信息:阅读Math.floorDiv()的JavaDoc, '。它解释了分区除法总是舍去,而截断除法(普通'/'运算符)总是向0舍入(即切断小数点后面的所有内容), –