如何測試你的平台是big endian 或 little endian

* little endian versus big endian */ 

 /*
  * add: z z+1 z+2 z+3
  * mem: 0D 0C 0B 0A //big endian
  * mem: 0A 0B 0C 0D //little endian
  * V = 0x0D0C0B0A
  */
 

 #include <stdio.h> 
 #include <stdlib.h> 
 int  main( void ) 
 { 
     int  V = 0x0D0C0B0A; 
     char  c = *( char  *)(&V)
     
     if  (c == 0x0A || c == 0x0D) { 
         if  (c == 0x0A) 
             printf( "little endian machine" )
         else 
             printf( "big endian machine" )
     } else 
         printf( "test error" )
     putchar( '\n' )
     exit(0)
}   

留言

這個網誌中的熱門文章

vim 的取代置換功能「s」

Wi-Fi Multimedia (WMM)

CoAP基礎