#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) );
}
int
main( void )
{
//printf( "%x\n", -1 );
show_int(-1);
exit(0);
}
PS:主要代码都是《深入理解计算机系统》里,其中为什么要转换成 unsigned char* 这个还没明白。