我需要使用數學方法的理論答案。它們之間是否存在數學上的差異?它們如何在編程語言中產生影響?截斷分區與平面分區有什麼區別?
回答
據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