(c语言)位操作符

#include  //位操作符(只针对整数进行操作)
//& - 按(二进制)位与 (有0则0)
//| - 按(二进制)位或 (有1则1)
//^ - 按(二进制)位异或 (不同为1,相同为0)

int main()
{
    int a = 3;
    int b = -5;
    //00000000000000000000000000000011——3的补码
    //10000000000000000000000000000101——(-5)的原码
    //11111111111111111111111111111010——(-5)的反码
    //11111111111111111111111111111011——(-5)的补码

    int c = a & b;
    //00000000000000000000000000000011——3的补码
    //11111111111111111111111111111011——(-5)的补码
    //00000000000000000000000000000011——c的补码=原码=3

    printf("c=%d\n",c);  //3
    int d = a | b;
    //00000000000000000000000000000011——3的补码
    //11111111111111111111111111111011——(-5)的补码
    //11111111111111111111111111111011——d的补码
    //11111111111111111111111111111010——d的反码
    //10000000000000000000000000000101——d的原码=(-5)

    printf("d=%d\n",d);  //(-5)
    int e = a ^ b;
    //00000000000000000000000000000011——3的补码
    //11111111111111111111111111111011——(-5)的补码
    //11111111111111111111111111111000——e的补码
    //11111111111111111111111111110111——e的反码
    //10000000000000000000000000001000——e的原码=(-8)

    printf("e=%d",e);  //(-8)
    return 0;
}

你可能感兴趣的:(前端,javascript,c语言)