我想将 uint 的 lsb 从 1 翻转到 0,反之亦然 有人能告诉我为什么下面的代码与 & 和 | 的结果相同吗?手术。
#include<stdio.h>
#include<stdint.h>
int main()
{
uint8_t a=53;
uint8_t x=255; // AND BY 255 TO insert 0 at LSB position 11111110
uint8_t y=1; // OR BY 1 TO insert 1 at LSB position 00000001
uint8_t b=a&x;
uint8_t c=a|y;
printf("\nValue of byte a : %d",a );
printf("\nValue of byte b : %d",b );
printf("\nValue of byte c : %d",c );
getchar();
return 0;
}
a、b的值怎么能一样,即53我用的是Pelles C IDE