10진수 정수(al_dec)를 일정한 길이(ai_byte)의 16진수 문자열로 변환하는 함수입니다.

ai_byte 가 1 이면 2자리, 2면 4자리, 3이면 6자리 즉, ai_byte*2 자리로 변환합니다.

 

Return Type : string

Function Name :  gf_dec2hex

Argument Type : long   Argument Name : al_dec

Argument Type : integer   Argument Name : ai_byte

 

long ll_temp, ll_cnt, i

string ls_snum

string ls_sn[16] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }

 

ll_cnt = 1

ll_temp = al_dec

 

do while ll_temp >= 16

  ll_cnt ++

  ll_temp = truncate( ll_temp / 16, 0)

loop

 

for i = ll_cnt to 1 step - 1

  ls_snum = ls_snum + ls_sn[truncate( mod(al_dec, 16^i) / 16^(i - 1), 0) + 1]

next

 

ls_snum = right(fill('0', ai_byte*2) + ls_snum, ai_byte*2)

 

return ls_snum





예) 

gf_dec2hex(1234, 2)

 

->  ‘04D2’ 를 반환합니다.

 

Posted by A4M
,