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
相关推荐
csbysj20205 分钟前
Chart.js 饼图:全面解析与实例教程
开发语言
浩瀚地学12 分钟前
【Java】常用API(二)
java·开发语言·经验分享·笔记·学习
程序员小寒12 分钟前
从一道前端面试题,谈 JS 对象存储特点和运算符执行顺序
开发语言·前端·javascript·面试
七夜zippoe23 分钟前
事件驱动架构:构建高并发松耦合系统的Python实战
开发语言·python·架构·eda·事件驱动
古城小栈29 分钟前
Rust Trait 敲黑板
开发语言·rust
FL171713141 小时前
MATLAB的Sensitivity Analyzer
开发语言·matlab
lly2024062 小时前
jEasyUI 设置排序指南
开发语言
一起努力啊~2 小时前
算法刷题--长度最小的子数组
开发语言·数据结构·算法·leetcode
还债大湿兄2 小时前
huggingface.co 下载有些要给权限的模型 小记录
开发语言·前端·javascript
bkspiderx2 小时前
C++中的map容器:键值对的有序管理与高效检索
开发语言·c++·stl·map