sNum= "84028A8918BE04" sRes= "" DO WHILE !EMPTY(sNum) sRes= STR(LongDiv(@sNum, 16, 10),1)+sRes ENDDO ?sRes *------------------------------- FUNCTION LongDiv(sNum, nBase, nDiv) * Devides sNum (a number as string) with base nBase by nDiv. * Returns the remainder and puts the quotient in sNum. * Sergey Karimov LOCAL i, s, nQuot, sQuot, nMod sQuot= "" nMod= 0 FOR i=1 TO LEN(sNum) s= SUBSTR(sNum,i,1) nMod= nMod*nBase + ASC(s) - IIF(s<="9", ASC("0"), ASC("A")-10) nQuot= INT(nMod/nDiv) sQuot= sQuot+IIF(nQuot=0 .and. EMPTY(sQuot), "", CHR(nQuot+IIF(nQuot<=9,ASC("0"),ASC("A")-10))) nMod= nMod%nDiv ENDFOR sNum= sQuot RETURN nMod>Hi,