Ada 程式設計/屬性/'無偏舍入
外觀
X'Unbiased_Rounding(Y) 是 Ada 屬性,其中 X 是任何浮點型別,Y 是該型別的任何例項。此屬性表示最接近 Y 的整數。如果 Y 恰好位於兩個整數之間(例如 1.5),則結果為偶數(例如 2.0)。
X : Float := 1.5; Y : Float := 1.0; Z : Float := 1.999; ...pragmaAssert(Float'Unbiased_Rounding(X) = 2.0); -- OKpragmaAssert(Float'Unbiased_Rounding(Y) = 1.0); -- OKpragmaAssert(Float'Unbiased_Rounding(Z) = 2.0); -- OKpragmaAssert(Float'Unbiased_Rounding(X) = 1.0); -- Wrong ... X := 2.5;pragmaAssert(Float'Unbiased_Rounding(X) = 2.0 ); -- OKpragmaAssert(Float'Unbiased_Rounding(X) = 3.0 ); -- Wrong
