0
点赞
收藏
分享

微信扫一扫

C/C++进程超详细详解【中部分】(系统性学习day07)

alonwang 2023-10-06 阅读 35

#include<stdio.h>  //位操作符(只针对整数进行操作)
//& - 按(二进制)位与 (有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;
}

举报

相关推荐

0 条评论