仅供参考
#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));
}
更多操作 |