C语言中位运算符操作

简介:c语言中的位运算符等的操作都比较冷门,这儿将逐个分析一下,彻底搞清楚其运算方法。

C语言中的位运算符

**& 位逻辑与
	| 位逻辑或
	^ 位逻辑异或
	~ 位逻辑反
	>> 右移
	<< 左移**

将以下示例分析

假设有定义 uint8_t a = 3, b =5;

a&b = 1;
a|b = 7;
a^b = 6;
~a = 0b1111 1100 ;
a>>1 = 1;
b<<2 = 20;

因为是位运算,故将a 与 b 转换为二进制:
a = 3 == 00000011
b = 5 == 00000101

& 位逻辑与

逻辑 &:运算规则:位上一假结果就为假,都为真结果才为真

在这里插入图片描述
00000001 == 1

| 位逻辑或

逻辑 | :运算规则:位上一真结果就为真,都为假结果才为假
在这里插入图片描述
00000111 == 7

^ 位逻辑异或

逻辑 ^ :运算规则:位不同结果为真,位相同结果为假
在这里插入图片描述
00000110 == 6

~ 位逻辑反

逻辑 ~ :运算规则:按位取反

在这里插入图片描述

>> 右移

逻辑>> :运算规则:右边移出存储单元,左边空出补0
例如:a>>1 = 1
在这里插入图片描述
00000001 == 1

<< 左移

逻辑<< :运算规则:左边移出存储单元,右边空出补0
例如:b<<2 = 20
在这里插入图片描述
00010100 == 20

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江南侠客(上海)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值