按位与(&)、按位或(I)、按 位异或(^)、按位取反(~)、左移(<<)和右 移(>>)六种位运算符实例

1.按位与(&)

 

5eb1593f0f2b4523ac586b37d43a08dc.jpg

 

#include <stdio.h>

int main() {
    int a = 5; // 二进制: 0101
    int b = 3; // 二进制: 0011
    int result = a & b; // 结果应该是 0001, 即 1

    printf("a & b = %d\n", result);
    return 0;
}

2.按位或(I)

1210bba877da4815a099a0e164d52a99.jpg
 

 

#include <stdio.h>

int main() {
    int a = 5; // 二进制: 0101
    int b = 3; // 二进制: 0011
    int result = a | b; // 结果应该是 0111, 即 7

    printf("a | b = %d\n", result);
    return 0;
}

3按 位异或(^)

2f6c531738614b999b8a9f4f4b8289b2.jpg

 

#include <stdio.h>

int main() {
    int a = 5; // 二进制: 0101
    int b = 3; // 二进制: 0011
    int result = a ^ b; // 结果应该是 0110, 即 6

    printf("a ^ b = %d\n", result);
    return 0;
}
 

4按位取反(~)

8aba32ed290a4dad847e22fb0ff1397c.jpg

 #include <stdio.h>

 

int main() {

    int a = 5; // 二进制: 0101

    int result = ~a; // 在32位系统中,结果应该是 -6 (二进制: 11111111111111111111111111111010)

 

    printf("~a = %d\n", result);

    return 0;

}

 

5左移(<<)

5148f6405e8240baba6556bb594c2f48.jpg

#include <stdio.h>

 

int main() {

    int a = 5; // 二进制: 0101

    int result = a << 2; // 结果应该是 010100, 即 20

 

    printf("a << 2 = %d\n", result);

    return 0;

}

 

6右 移(>>)

5bc653d4a3af4bc19fd3c751f46971ae.jpg

 #include <stdio.h>

 

int main() {

    int a = 20; // 二进制: 10100

    int result = a >> 2; // 结果应该是 00101, 即 5

 

    printf("a >> 2 = %d\n", result);

    return 0;

}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值