C语言中的位操作

第一章 变量某位赋值与连续赋值

寄存器 |= 值

cpp 复制代码
//例如:a = 1000 0011b 
a |= (1<<2) //a = 1000 0111 b 单独赋值
a |= (3<<2*2) // 1011 0011b 连续赋值

第二章 变量某位清零与连续清零

寄存器 &= ~() 值

cpp 复制代码
//例子:a = 1001 1111
a &= ~(1<<2)
//结果 a = 1001 1011
a  &= ~(3<<2*1);
//结果a = 1001 0011

第三章 变量某位取反

寄存器 ^= 值 (异或操作)

cpp 复制代码
//例子:a = 1001 0011b
a ^= (1<<6);
//结果:a = 1101 0011b
相关推荐
哈哈不让取名字4 分钟前
基于C++的爬虫框架
开发语言·c++·算法
花间相见7 分钟前
【JAVA开发】—— Nginx服务器
java·开发语言·nginx
扶苏-su26 分钟前
Java---Properties 类
java·开发语言
不忘不弃1 小时前
模拟内存分配器1
c语言
一条咸鱼_SaltyFish2 小时前
远程鉴权中心设计:HTTP 与 gRPC 的技术决策与实践
开发语言·网络·网络协议·程序人生·http·开源软件·个人开发
我即将远走丶或许也能高飞2 小时前
vuex 和 pinia 的学习使用
开发语言·前端·javascript
沐知全栈开发2 小时前
SQL LEN() 函数详解
开发语言
钟离墨笺2 小时前
Go语言--2go基础-->基本数据类型
开发语言·前端·后端·golang
小郭团队3 小时前
1_7_五段式SVPWM (传统算法反正切+DPWM3)算法理论与 MATLAB 实现详解
开发语言·嵌入式硬件·算法·matlab·dsp开发
C+-C资深大佬3 小时前
C++风格的命名转换
开发语言·c++