截短的划分与地板划分之间有什么区别

  • 本文关键字:划分 区别 之间 java division
  • 更新时间 :
  • 英文 :


我需要使用数学方法的理论答案。它们之间是否有任何数学差异以及它们如何在编程语言中产生影响。

根据Java术语,"截断划分"的问题VS"地板司"最好由RoundingMode的Javadoc回答:

down
圆形模式到圆形朝零。切勿在丢弃的分数之前递增数字(即 Truncates (。请注意,这种舍入模式永远不会增加计算值的大小。

地板
圆形模式到圆形朝向无穷大。如果结果为正,则表现为RoundingMode.DOWN;如果负面,则表现为RoundingMode.UP。请注意,这种舍入模式永远不会增加计算的值。

JAVA部门运营商由JLS§15.17.2定义。分区操作员/

整数部门向0。

这就是为什么5 / -3-1中导致


您还可以查看"截断"的定义。VS"地板"在Wikipedia上:

有很多方法可以将数字y舍入到整数q最常见的方法是:

  • 圆下(或取 floor ,或圆形朝下to Minus nigus infinity (:q是不超过y的最大整数。

  • 汇总(或以天花板 round to Plus plus Infinity (:q是最小的整数不是小于y

  • 圆形朝零(或截断,或远离Infinity (:qy的整数,没有它的分数数字。

  • 远离零(或 round to Infinity (:如果y是整数,则qy;否则q是最接近0的整数,并且y在0和q之间。

  • 圆形到最近的q是最接近y的整数(有关打决规则,请参见下文(。

如您所见,Java和Wikipedia在此定义上同意:

  • 地板:圆形倾向于减去/负

请注意,Java和Wikipedia在上不同意。

您正在划分整数,因此结果将四舍五入到最近的整数。改用浮点变量。

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

最新更新