D-Link的四舍五入 - 这实际上是在变形吗?


0

某些D-Link存储机架以(NTFS)时间戳的极其奇怪的方式运行。

以下是我做过的一些实验的快速示例:

08:00:01.562 rounds to 08:00:01.000
08:00:01.633 rounds to 08:00:02.000
08:00:02.556 rounds to 08:00:03.000

我真的很困惑,01.562圆形的01.633四舍五入......

你能理解这里发生了什么吗?

PS:这是一个额外的表,如果它有帮助。

Input           Output          Nearest second  FAT rounding
08:00:00.000    08:00:00.000    08:00:00.000    08:00:00.000
08:00:00.071    08:00:00.000    08:00:00.000    08:00:02.000
08:00:00.142    08:00:00.000    08:00:00.000    08:00:02.000
08:00:00.213    08:00:00.000    08:00:00.000    08:00:02.000
08:00:00.284    08:00:00.000    08:00:00.000    08:00:02.000
08:00:00.355    08:00:00.000    08:00:00.000    08:00:02.000
08:00:00.426    08:00:00.000    08:00:00.000    08:00:02.000
08:00:00.497    08:00:00.000    08:00:00.000    08:00:02.000
08:00:00.568    08:00:01.000    08:00:01.000    08:00:02.000
08:00:00.639    08:00:01.000    08:00:01.000    08:00:02.000
08:00:00.710    08:00:01.000    08:00:01.000    08:00:02.000
08:00:00.781    08:00:01.000    08:00:01.000    08:00:02.000
08:00:00.852    08:00:01.000    08:00:01.000    08:00:02.000
08:00:00.923    08:00:01.000    08:00:01.000    08:00:02.000
08:00:00.994    08:00:01.000    08:00:01.000    08:00:02.000
08:00:01.065    08:00:01.000    08:00:01.000    08:00:02.000
08:00:01.136    08:00:01.000    08:00:01.000    08:00:02.000
08:00:01.207    08:00:01.000    08:00:01.000    08:00:02.000
08:00:01.278    08:00:01.000    08:00:01.000    08:00:02.000
08:00:01.349    08:00:01.000    08:00:01.000    08:00:02.000
08:00:01.420    08:00:01.000    08:00:01.000    08:00:02.000
08:00:01.491    08:00:01.000    08:00:01.000    08:00:02.000
08:00:01.562    08:00:01.000    08:00:02.000    08:00:02.000
08:00:01.633    08:00:02.000    08:00:02.000    08:00:02.000
08:00:01.704    08:00:02.000    08:00:02.000    08:00:02.000
08:00:01.775    08:00:02.000    08:00:02.000    08:00:02.000
08:00:01.846    08:00:02.000    08:00:02.000    08:00:02.000
08:00:01.917    08:00:02.000    08:00:02.000    08:00:02.000
08:00:01.988    08:00:02.000    08:00:02.000    08:00:02.000
08:00:02.059    08:00:02.000    08:00:02.000    08:00:04.000
08:00:02.130    08:00:02.000    08:00:02.000    08:00:04.000
08:00:02.201    08:00:02.000    08:00:02.000    08:00:04.000
08:00:02.272    08:00:02.000    08:00:02.000    08:00:04.000
08:00:02.343    08:00:02.000    08:00:02.000    08:00:04.000
08:00:02.414    08:00:02.000    08:00:02.000    08:00:04.000
08:00:02.485    08:00:02.000    08:00:02.000    08:00:04.000
08:00:02.556    08:00:03.000    08:00:03.000    08:00:04.000
08:00:02.627    08:00:03.000    08:00:03.000    08:00:04.000
08:00:02.698    08:00:03.000    08:00:03.000    08:00:04.000
08:00:02.769    08:00:03.000    08:00:03.000    08:00:04.000

1
也许是浮点不精确?
JAB

Answers:


1

它可能只是看着.5并进行偶数/奇数舍入。这有助于使事情有点理智。

可以说你有1.5和2.5。如果直接添加它们,则得到1.5 + 2.5 => 4.0。但是......如果你用正常的“> = .5上升”然后你将得到2.0 + 3.0,你得到5.0。

让我们稍微改变规则。如果你四舍五入n.m为整数,你可以有一个包含的.5规则n。因为n.5,如果n是偶数,你就像正常一样。如果n是奇怪的话,你向下舍入。所以对于1.5,你向下舍入到1.对于2.5,你向上舍入(像正常一样)到3. 1.0 + 3.0 = 4.0,就像你期望的那样。


但是,这与使用的模式不匹配,因为D-link情况下1.562轮到1轮。
克莱门特

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.