10进制转16进制字符串
unsigned long long ullValue = 18446744073709551615;
char buf[18] = {0};
sprintf(buf, "0x%llX", ullValue);
// result: 0xFFFFFFFFFFFFFFFF
16进制字符串转10进制
const char *buf = "0xFFFFFFFFFFFFFFFF"; unsigned long long result = strtoull(buf, NULL, 16); // result: 18446744073709551615
