2017-05-30 99 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舍入(即切斷小數點後面的所有內容), –