PL/SQL verbeteringen in Oracle 10G - Nieuwe IEEE Floating-Point Types
Oracle 10g introduceert de nieuwe IEEE floating-point types BINARY_FLOAT en BINARY_DOUBLE. De types zijn uiterst efficiƫnt voor voor zware floating point berekeningen terwijl het werk direct naar het operating system wordt doorgegeven. Tekst opdrachten kunnen uitgevoerd worden met de "f" en "d" toevoegingen of met de conversie functies toevoegingen TO_BINARY_FLOAT en TO_BINARY_DOUBLE:
DECLARE
l_binary_float BINARY_FLOAT;
l_binary_double BINARY_DOUBLE;
BEGIN
l_binary_float := 1.1f;
l_binary_double := 1.00001d;

l_binary_float := TO_BINARY_FLOAT(1.1);
l_binary_double := TO_BINARY_DOUBLE(1.00001);
END;
/
Liever dan met exceptions te komen, kunnen de uitkomst waarden van berekeningen vergeleken worden met de volgende constantn waarvoor getest kan worden:
  • [BINARY_FLOAT|BINARY_DOUBLE]_NAN
  • [BINARY_FLOAT|BINARY_DOUBLE]_INFINITY
  • [BINARY_FLOAT|BINARY_DOUBLE]_MAX_NORMAL
  • [BINARY_FLOAT|BINARY_DOUBLE]_MIN_NORMAL
  • [BINARY_FLOAT|BINARY_DOUBLE]_MAX_SUBNORMAL
  • [BINARY_FLOAT|BINARY_DOUBLE]_MIN_SUBNORMAL

De constanten voor NaN en infinity zijn ook beschikbaar in SQL.

 

Advertentie

>

Poll

Voorkeur
 

Wie is er aanwezig

We hebben 154 gasten online