D-Link 的舍入 - 这实际上是舍入吗?

D-Link 的舍入 - 这实际上是舍入吗?

一些 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四舍五入……

你能明白这里发生了什么吗?

附言:如果有帮助的话,这里还有一张额外的表格。

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

它可能只是查看 .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,正如您所期望的那样。

答案2

这似乎是一个错误,已在最新的 DLink NAS 外壳中修复。

相关内容