Does anyone have any ideas on how to convert a 64 bit (20 digit) decimal to hex?

Problems:

The built-in Hex() function doesn't work as it only supports up to 32 bits.

I did write a custom routine to do the conversion, however it relies on setting the "maximum hex value" you want before you do the conversion. The problem here is that there aren't any data types besides a double that support a 64 bit number. And I can't use a double because I need exact accuracy in the digits and not be limited to the floating point standard. So what results is that I get the first 6 or 7 bytes of the number but not the whole thing. I'm not married to this routine, I just need anything that will convert a 20 digit decimal string to an 8 byte hex string.

Help! I have also submitted this to the general forum if this is the improper place. First post, go easy on me. Thanks