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
相关推荐
yivifu几秒前
精益求精,支持处理嵌套表格的Word表格转HTML表格
开发语言·c#·word
沐知全栈开发1 分钟前
PHP MySQL WHERE 子句详解
开发语言
糖纸风筝1 分钟前
Java指南:eclipse、java-activemq与测试验证
java·开发语言·学习
小坏讲微服务5 分钟前
整合Spring Cloud Alibaba与Gateway实现跨域的解决方案
java·开发语言·后端·spring cloud·云原生·gateway
玖剹25 分钟前
穷举 VS 暴搜 VS 深搜 VS 回溯 VS 剪枝
c语言·c++·算法·深度优先·剪枝·深度优先遍历
码上成长30 分钟前
<script setup> 实战模式:大型组件怎么拆?
开发语言·javascript·vue.js
九河_1 小时前
解决pip install gym==0.19.0安装失败问题
开发语言·python·pip·gym
红豆诗人1 小时前
C语言进阶知识--文件操作
c语言·开发语言·文件操作
麦麦鸡腿堡2 小时前
Java绘图技术
java·开发语言
热爱编程的OP2 小时前
Linux进程池与管道通信详解:从原理到实现
linux·开发语言·c++