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
相关推荐
星释36 分钟前
Rust 练习册 75:ETL与数据转换
开发语言·rust·etl
happyjoey21737 分钟前
使用Qt自带的Maintenance Tool将Qt6.9升级为QT6.10
开发语言·qt
p***h6435 小时前
JavaScript在Node.js中的异步编程
开发语言·javascript·node.js
薛慕昭5 小时前
嵌入式 C 语言猜大小游戏设计与实现
c语言·游戏
散峰而望5 小时前
C++数组(二)(算法竞赛)
开发语言·c++·算法·github
Porunarufu5 小时前
Java·关于List
java·开发语言
子不语1805 小时前
Python——函数
开发语言·python
ndjnddjxn6 小时前
Rust学习
开发语言·学习·rust
月光技术杂谈6 小时前
实战:C驱动框架嵌入Rust模块的互操作机制与完整流程
c语言·开发语言·rust·ffi·跨语言·bindgen·互操作
t198751286 小时前
基于MATLAB的指纹识别系统完整实现
开发语言·matlab