fork download
  1. #include <stdio.h>
  2. #include <stdint.h>
  3. #include <string.h>
  4.  
  5. uint64_t numberize(const uint8_t from[8]) {
  6. uint64_t r = 0;
  7. uint8_t *p = &r;
  8.  
  9. #if '01' == 0x4849 // big endian
  10. memcpy(p, from, 8);
  11. #else // little endian
  12. for (int i=7; i >= 0; --i)
  13. *p++ = from[i];
  14. #endif
  15.  
  16. return r;
  17. }
  18.  
  19. int main() {
  20. const uint8_t data[8] = { 0x02, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 };
  21.  
  22. printf("result is %016llx\n", numberize(data));
  23.  
  24. return 0;
  25. }
Success #stdin #stdout 0s 4396KB
stdin
Standard input is empty
stdout
result is 0201020304050607