10进制与16进制字符串互转

使用sprintfstrtoull函数实现互转操作。

10进制转16进制字符串

1
2
3
4
unsigned long long ullValue = 18446744073709551615;
char buf[18] = {0};
sprintf(buf, "0x%llX", ullValue);
// result: 0xFFFFFFFFFFFFFFFF

16进制字符串转10进制

1
2
3
const char *buf = "0xFFFFFFFFFFFFFFFF";
unsigned long long result = strtoull(buf, NULL, 16);
// result: 18446744073709551615