rirpova
authorSimone Piccardi <piccardi@gnulinux.it>
Sat, 16 Aug 2003 18:22:25 +0000 (18:22 +0000)
committerSimone Piccardi <piccardi@gnulinux.it>
Sat, 16 Aug 2003 18:22:25 +0000 (18:22 +0000)
sources/endian.c

index be14e09..0505b36 100644 (file)
@@ -23,7 +23,7 @@
  * Author: S. Piccardi
  * May. 2003
  *
- * $Id: endian.c,v 1.3 2003/08/16 18:11:24 piccardi Exp $
+ * $Id: endian.c,v 1.4 2003/08/16 18:22:25 piccardi Exp $
  *
  ***************************************************************/
 #include <stdio.h>
@@ -33,18 +33,14 @@ int main(int argc, char *argv[])
 /*
  * Variables definition
  */
-    int i, val;
-    char buf[sizeof(int)];
-    int * int_ptr;
+    short magic, test;
+    char * ptr;
    
-    val = 0xABCDEF01;      /* endianess magic number */
-    int_ptr = (int *) buf;
-    *int_ptr = val;
-    val = 0;
-    for (i=0; i<sizeof(int); i++) {
-       val = (val<<8) + buf[i];
-       printf("i=%d, val=%x\n", i, buf[i]);
-    }
-    printf("Value %x\n", val);
-    return 0;
+    magic = 0xABCD;            /* endianess magic number */
+    ptr = (char *) &magic;
+    printf("Upper = %x\n", ptr[1]);
+    printf("Lower = %x\n", ptr[0]);
+    test = (ptr[1]<<8) + (ptr[0]&0xFF);
+    printf("magic=%x, test=%x\n", magic, test); 
+    return (magic == test);
 }