The best solution for handling 64bit literals, I think, is to make use of msvcrt (c runtime) functions.
sscanf takes the role of val
sprintf takes the role of str$, hex$, and format$
'2018-03-15 T 10:03:22
'msvcrt val/str
'http://www.cplusplus.com/reference/cstdio/scanf/
'http://www.cplusplus.com/reference/cstdio/printf/
% filename "t.exe"
use rtl64
use msvcrt
'
quad a
string idata="0xA0DD7CBFF9FED839"
string odata=nuls 32
'
sscanf(idata,"%llx",@a) 'hexadecimal input to 64bit
sprintf(odata,"%llu",a)'64bit unsigned decimal output
print idata chr(13,10) odata
ps: this will also work with 32 bit compiling, with a slight alteration:
quad a