什么是奇数整数后面的推理在除以2时四舍五入?

mml*_*mla 1 ruby math integer

将奇数整数除以2而不是错误的计算时,看到错误不是更好吗?

Ruby中的示例(我猜它在其他语言中是相同的,因为整数和浮点数是常见的数据类型):

39 / 2 => 19

我得到的输出不是19.5,因为我们要求整数的值除以整数,而不是浮点数(39.0)除以整数.我的问题是,如果这些数据类型的限制阻止它计算正确的值,为什么输出最不正确的值?

  • 正确= 19.5
  • Correct-ish = 20(四舍五入)
  • 最少纠正= 19

Oli*_*rth 6

看错了不是更好吗?

抛出错误通常会非常适得其反,而且在大多数语言中计算效率都很低.

并认为这通常是有用的行为:

total_minutes = 563;
hours   = total_minutes / 60;
minutes = total_minutes % 60;
Run Code Online (Sandbox Code Playgroud)
  • 正确= 19.5
  • Correct-ish = 20(四舍五入)
  • 最少纠正= 19

谁说20比19更正确?