seconda prova
[gapil.git] / sources / endian.c
index 3c79ab06a9415468d7f959c57ec917bd0b27a14d..be14e09076137cb51a8f2df3a13d12e6b1bfa917 100644 (file)
@@ -23,7 +23,7 @@
  * Author: S. Piccardi
  * May. 2003
  *
- * $Id: endian.c,v 1.2 2003/08/16 17:36:03 piccardi Exp $
+ * $Id: endian.c,v 1.3 2003/08/16 18:11:24 piccardi Exp $
  *
  ***************************************************************/
 #include <stdio.h>
@@ -35,15 +35,14 @@ int main(int argc, char *argv[])
  */
     int i, val;
     char buf[sizeof(int)];
-    char * char_ptr;
     int * int_ptr;
    
     val = 0xABCDEF01;      /* endianess magic number */
-    int_ptr = (int *) buf; 
+    int_ptr = (int *) buf;
     *int_ptr = val;
-    char_ptr = (char *) &val;
+    val = 0;
     for (i=0; i<sizeof(int); i++) {
-       char_ptr[i] = buf[i];
+       val = (val<<8) + buf[i];
        printf("i=%d, val=%x\n", i, buf[i]);
     }
     printf("Value %x\n", val);