【PL/SQL】IEEE浮點型別BINARY_FLOAT和BINARY_DOUBLE

secooler發表於2010-12-13
Oracle提供了兩種新的資料型別:BINARY_FLOAT和BINARY_DOUBLE。BINARY_FLOAT是一個32位單精度浮點資料型別;BINARY_DOUBLE是一個64位雙精度浮點資料型別。

1.為什麼會引入浮點資料型別
BINARY_FLOAT和BINARY_DOUBLE這些資料型別是以IEEE 754格式來表示浮點數,特別適合科學計算。許多處理器指令本身就支援IEEE 754浮點科學計算,因此在很大程度上便極大地提升了浮點數的運算速度。

2.使用浮點型別
雖然使用這些功能特性可能會使得某些操作的效能得到顯著的改善,但是這是有代價的,我們犧牲的是計算的精度。因此,在對數字精度要求特別高的場合是不適用的,例如結算類應用。

3.小結
Oracle推出的任何新的型別和技術,不一定適合我們的的具體應用!每一個具體應用有其自身的側重點,例如本例中提到的浮點資料型別僅僅適用於對精度要求不高,但對效能要求很高的場景。
在真正決定使用某項新技術之前,我們首先要做的事情是清楚的瞭解到這個新特性出現的背景和它的優缺點。不可盲目的使用。

Good luck.

secooler
10.12.13

-- The End --

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-681788/,如需轉載,請註明出處,否則將追究法律責任。

相關文章