-- Converts a given binary number to decimal,
-- given a non-binary number - but results are unpredictable.
-- Does not handle decimals ...
CREATE OR REPLACE FUNCTION f_from_binary(in_num IN NUMBER) RETURN NUMBER IS
ln_pos NUMBER := 0;
lv_bin VARCHAR2(4000) := LTRIM(RTRIM(TO_CHAR(ABS(in_num))));
ln_num NUMBER := 0;
ln_Sign NUMBER;
BEGIN
IF in_num >= 0 THEN
ln_Sign := 1;
ELSE
ln_Sign := -1;
END IF;
FOR i IN 1 .. LENGTH(lv_bin) LOOP
ln_num := ln_num +
(SUBSTR(lv_bin, i, 1) * POWER(2, LENGTH(lv_bin) - i));
END LOOP;
RETURN ln_num * ln_Sign;
END f_from_binary;
/
Some Other Important PL/SQL Scripts:
-- given a non-binary number - but results are unpredictable.
-- Does not handle decimals ...
CREATE OR REPLACE FUNCTION f_from_binary(in_num IN NUMBER) RETURN NUMBER IS
ln_pos NUMBER := 0;
lv_bin VARCHAR2(4000) := LTRIM(RTRIM(TO_CHAR(ABS(in_num))));
ln_num NUMBER := 0;
ln_Sign NUMBER;
BEGIN
IF in_num >= 0 THEN
ln_Sign := 1;
ELSE
ln_Sign := -1;
END IF;
FOR i IN 1 .. LENGTH(lv_bin) LOOP
ln_num := ln_num +
(SUBSTR(lv_bin, i, 1) * POWER(2, LENGTH(lv_bin) - i));
END LOOP;
RETURN ln_num * ln_Sign;
END f_from_binary;
/
Some Other Important PL/SQL Scripts:
- PL/SQL Function To Compute The Factorial Of A Number
- PL/SQL Function To Convert A Decimal Number To A Binary Number
- PL/SQL Function To Convert Ruppies(Numbers) In Words
- PL/SQL Function To Generate The Fibonacci Series
- PL/SQL Procedure For Counting All Tables And Respective Rows From Database
- PL/SQL Procedure To Display Monthly Calender
- PL/SQL Procedure To Reverse A String
- PL/SQL Script To Calculate Weekdays Between Two Given Dates
COMMENTS