c加密有关问题

c加密问题C/C++ codefor(int i 48 i 100 i ++ ){char a ichar b a&0xf8char c a&0x7int

c加密问题

C/C++ code
    for(int i = 48 ; i < 100 ; i ++ )    {        char a = i;        char b = a&0xf8;        char c = a&0x7;        int d = (b>>3) + (c<<5);        d=d^0xff;        d=d^0xff;        b = d&0xe0;        c = d&0x1f;                printf("%d---------------------------\n" , i);        printf("a = %c \n" , a);        printf("d = %d \n" , d);        d = (b>>5) + (c<<3);        printf("d = %c \n" , d);    }    printf("\n");    return 0;

为什么a不等于d

[解决办法]
去掉
d=d^0xff;
d=d^0xff;

试试?