我要理解-1为什么是0xffffffff,所以写了下面的程序理解。

#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*  这个还没明白。

你可能感兴趣的:(程序)