| 仅供参考 #include <stdio.h>
 #include <stdint.h>
 
 uint8_t buf[5] = { 0x12, 0x34, 0x56, 0x78, 0x91 };
 
 uint64_t convert(uint8_t* buf, int n) {
 uint64_t acc = 0;
 int i;
 uint8_t c;
 for(i=0; i<n; i++) {
 acc *= 100;
 c = buf[i];
 acc += (c >> 4) * 10 + (c & 0x0F);
 }
 return acc;
 }
 
 int main() {
 printf("%lld\n", convert(buf, 5));
 }
 |