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;
试试?