跳轉到內容

Ada 程式設計/屬性/'無偏舍入

來自華夏公益教科書,開放的書籍,用於開放的世界

Ada. Time-tested, safe and secure.
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;
... 
pragma Assert(Float'Unbiased_Rounding(X) = 2.0);  -- OK
pragma Assert(Float'Unbiased_Rounding(Y) = 1.0);  -- OK
pragma Assert(Float'Unbiased_Rounding(Z) = 2.0);  -- OK
pragma Assert(Float'Unbiased_Rounding(X) = 1.0);  -- Wrong
...
X := 2.5;
pragma Assert(Float'Unbiased_Rounding(X) = 2.0 );  -- OK
pragma Assert(Float'Unbiased_Rounding(X) = 3.0 );  -- Wrong

華夏公益教科書

[編輯 | 編輯原始碼]

Ada 參考手冊

[編輯 | 編輯原始碼]
華夏公益教科書