cooper-union-ece-160/3-memory-and-pointers/part3.c

20 lines
356 B
C

#include <stdio.h>
#include <stdlib.h>
int main() {
long lng = 136792;
unsigned char* p = (unsigned char*)&lng;
long calculated = 0;
long c = 1;
for (int i = 0; i < sizeof(long); i++) {
printf("Byte %i: 0x%x\n", i, p[i]);
calculated += p[i] * c;
c *= 256;
}
printf("Calculated from bytes: %li\n", calculated);
return 0;
}