バイナリのデバッグ印刷

1412 ワード

UTF-8をしてGB 2312を回転する時漢字の符号化範囲を見て、メモリを見てすべて10進数で表示するので、自分で1つの印刷のバイナリのフォーマットの関数を書くしかありません.
void PRINTF(char * ptr) 
{ 
    unsigned char t = *ptr; 
    int tp = 8; 
    while( t != 0 ) 
    { 
        /*  1*/
        if( 128 == (t & 128) ) 
        { 
            printf( "1" ); 
            tp--; 
    } 
    else 
    { 
        /*  0*/
        printf( "0" ); 
        tp--; 
    } 

    t = t << 1; 
    } 

    while( 0 != tp ) 
    { 
        printf("0"); 
        tp--; 
    } 

    printf("/n"); 
}