主要内容

舍入模式:零

向零舍入是计算上最简单的舍入模式。超出所需位数的所有位都将丢弃。向零舍入产生的数值的量级始终小于或等于更精确的原始值。

向零舍入会使正数的结果产生累积向下偏差,使负数的结果产生累积向上偏差。也就是说,所有正数都舍入为较小的正数,而所有负数都舍入为较大的负数。

您可以使用 fix 函数进行向零舍入。

Plot of output stored integer value vs input real-world value using the rounding mode zero.

向零舍入与截断

向零舍入和截断切割有时被视为相同。然而,对于无符号数和 2 的补码数,向零舍入和截断产生的结果并不相同。因此,不要使用具有多义性的术语截断,而是改用意义明确的舍入模式。

例如,假设有通过丢弃(截断)两个最低有效位将 5 位无符号数向零舍入。例如,无符号数 100.01 = 4.25 截断为 100 = 4。因此,截断无符号数等效于向零舍入向下取整。

现在,假设通过丢弃两个最低有效位对一个 5 位 2 的补码数进行舍入。乍一看,您可能认为对 2 的补码数进行截断与向零舍入相同。例如,丢弃 -3.75 的最后两位得到 -3.00。然而,执行 2 的补码算术的数字硬件会产生不同结果。具体来说,数字 100.01 = -3.75 截断为 100 = -4,这是向下取整。

另请参阅

|