إنتقال للمحتوى

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

للمهتمين convert betwen hexadecimal values and dec


5 رد (ردود) على هذا الموضوع

#1 عبداللطيف

عبداللطيف

    مــشــرف عــام

  • الإشراف العام
  • 1,267 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 17 March 2004 - 08:04 AM

تحياتي لكم

للمهتمين في عمليات التحويل وامكانية استخدمها في عمليات التشفير لي ولكم الفائدة ان شاء الله ، فلا تنسو الدعاء لي وللجميع

تحياتي محبكم
Tofeee
======
convert betwen hexadecimal values and decimal/integer values. 

CREATE OR REPLACE PROCEDURE dec2hex (in_num IN NUMBER, out_hex OUT VARCHAR2)
IS
TYPE vc2tab_type IS TABLE OF VARCHAR2(1)
INDEX BY BINARY_INTEGER;

hextab vc2tab_type;
v_num NUMBER;
v_hex VARCHAR2(200);

/*
Author: Jonas Nordstrom
*/
BEGIN IF in_num IS NULL THEN RETURN NULL; END IF;

hextab (0) := '0';
hextab (1) := '1';
hextab (2) := '2';
hextab (3) := '3';
hextab (4) := '4';
hextab (5) := '5';
hextab (6) := '6';
hextab (7) := '7';
hextab (8) := '8';
hextab (9) := '9';
hextab (10) := 'A';
hextab (11) := 'B';
hextab (12) := 'C';
hextab (13) := 'D';
hextab (14) := 'E';
hextab (15) := 'F';
v_num := in_num;

WHILE v_num >= 16
LOOP
v_hex := hextab (MOD (v_num, 16)) || v_hex;
v_num := TRUNC (v_num / 16);
END LOOP;

v_hex := hextab (MOD (v_num, 16)) || v_hex;
out_hex := v_hex;
END; -- dec2hex
/

CREATE OR REPLACE FUNCTION hextointeger (h VARCHAR2)
RETURN PLS_INTEGER
IS
BEGIN IF NVL (LENGTH (h), 1) = 1
THEN
RETURN INSTR ('0123456789ABCDEF', h) - 1;
ELSE
RETURN 16 * hextointeger (SUBSTR (h, 1, LENGTH (h) - 1)) +
INSTR ('0123456789ABCDEF', SUBSTR (h, -1)) -
1;
END IF;
END hextointeger;
/

CREATE OR REPLACE FUNCTION integertohex (n pls_integer)
RETURN VARCHAR2
IS
BEGIN IF n > 0
THEN
RETURN integertohex (TRUNC (n / 16)) ||
SUBSTR ('0123456789ABCDEF', MOD (n, 16) + 1, 1);
ELSE
RETURN NULL;
END IF;
END integertohex;
/



والمثال بالملف المرفق

ملفات مرفقة

  • ملف مرفق  dec2hex.sql   1.73كيلو   46 عدد مرات التحميل


#2 khaled

khaled

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 251 مشاركة

تاريخ المشاركة 17 March 2004 - 11:17 AM

مشكور اخ tofeee على الكود
و الى الامام
خالد مبارك العوبثاني
اليمن-حضرموت
Email :Aboanter84@hotmail.com

#3 salama11433

salama11433

    عضو نشط

  • الأعضــاء
  • 356 مشاركة

تاريخ المشاركة 17 March 2004 - 01:19 PM

شكراٌ و الى الامام يارب :)
لا تبكى على ماضى لا يعود
salama ayad
samy32@msn.com
semsem11433@yahoo.com
Egypt - cairo

#4 salama11433

salama11433

    عضو نشط

  • الأعضــاء
  • 356 مشاركة

تاريخ المشاركة 17 March 2004 - 01:34 PM

اليك هذا الـLINK
من هنا :)
لا تبكى على ماضى لا يعود
salama ayad
samy32@msn.com
semsem11433@yahoo.com
Egypt - cairo

#5 John

John

    عضو نشط

  • الأعضــاء
  • 387 مشاركة

تاريخ المشاركة 17 March 2004 - 02:11 PM

أخ Tofeee مشكور طبعا و لكن نريد فورم جاهزة تنفذ هذا ...
Johnwahba2002@hotmail.com

#6 imad2

imad2

    عضو

  • الأعضــاء
  • 3 مشاركة

تاريخ المشاركة 23 December 2004 - 05:03 PM

شكراً جزيلاً على المعلومات القيمة