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
相关推荐
yqcoder13 小时前
JavaScript 内存揭秘:堆(Heap) vs 栈(Stack)
开发语言·javascript·ecmascript
覆东流13 小时前
第11天:python字典基础
开发语言·后端·python
河阿里13 小时前
深入理解LRU缓存机制:从原理到应用(C++实现
开发语言·c++·缓存
xyq202413 小时前
PHP Date
开发语言
杨充13 小时前
03.计算机基础CPU设计
java·开发语言
gergul13 小时前
python venv虚拟环境复制
linux·开发语言·python
LNN202213 小时前
半导体设备上位机 Qt 实现计划
开发语言·数据库·qt
摇滚侠13 小时前
Java 项目教程《黑马商城》OpenFeign 15 - 19
java·开发语言
摇滚侠13 小时前
Java 项目教程《黑马商城》微服务拆分 05 - 10
java·开发语言·微服务
虎头金猫13 小时前
监控机不在被监控的机器上,Prometheus怎么跨网络把数据拉过来
运维·服务器·开发语言·网络·云原生·开源·prometheus