查看字节顺序 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 );
}

  

原文地址:https://www.cnblogs.com/lxgeek/p/2177897.html