查看字节顺序 from《深入理解计算机系统》 p39

#include <stdio.h>

#include <stdlib.h>



typedef unsigned char *byte_pointer;



void

show_bytes( byte_pointer start, int len )

{

        int i;



        for ( i = 0; i < len; i++ )

                printf( " %.2x", start[i] );



        printf( "\n" );

}



void

show_int( int x )

{

        show_bytes( ( byte_pointer )&x, sizeof( int ) );

}



void

show_float( float x )

{

        show_bytes( ( byte_pointer )&x, sizeof( float ) );

}



void

show_pointer( void* x )

{

        show_bytes( ( byte_pointer )&x, sizeof( void* ) );

}



void

test_show_bytes( int val )

{

        int ival = val;

        float fval = ( float )val;

        int *pval = &ival;



        show_int( ival );

        show_float( fval );

        show_pointer( pval );

}





int

main( void )

{

        test_show_bytes( 12345 );



        exit( 0 );

}

  

你可能感兴趣的:(计算机)