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
相关推荐
IoT智慧学堂1 分钟前
C语言运算符与表达式详解——算术、逻辑与赋值的全面理解
c语言·开发语言
沐知全栈开发28 分钟前
深度优先遍历与连通分量
开发语言
古城小栈41 分钟前
Go 1.25 发布:性能、工具与生态的全面进化
开发语言·后端·golang
@syh.1 小时前
【C++】map和set
开发语言·c++
拾光Ծ1 小时前
C++11实用的“新特性”:列表初始化+右值引用与偷懒艺术——移动语义
开发语言·c++
何憶树之長青1 小时前
Kernel
开发语言·php
hardmenstudent1 小时前
Python字典--第1关:元组使用:这份菜单能修改吗?
开发语言·python
John_Rey1 小时前
Rust底层深度探究:自定义分配器(Allocators)——控制内存分配的精妙艺术
开发语言·后端·rust
逻极1 小时前
VS Code之Java 开发完全指南:从环境搭建到实战优化
java·开发语言
月月玩代码1 小时前
SLF4J,简单门面Java日志框架
java·开发语言