/* mybyteorder.c */ #include #include int main(int argc, char** argv) { short number; short* iptr; char* cptr; int a=0,b=0; printf("\nsizeof(int) = %d: sizeof(short) = %d: sizeof(long) = %d\n\n", sizeof(int), sizeof(short), sizeof(long)); number = 0x0102; printf("number(hex) : %.4x\n\n", (number)); iptr = &number; cptr = (char *) iptr; printf("Value of iptr (hex) : %x\n", (iptr)); printf("Value of iptr+1 (hex) : %x\n\n", (iptr+1)); printf("At (iptr 0) : %x\n", (*(iptr))&(0xff00) ); printf("At (iptr 1) : %x\n\n", (*(iptr))&(0x00ff) ); a = (int) (*cptr); printf("At (%x) : %.2x\n", (cptr), a); cptr++; b = (int) (*cptr); printf("At (%x) : %.2x\n", (cptr), b); printf("This machine is %s-endian. \n", (a>b)?"Little":"Big"); return 0; }