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
相关推荐
原野-4 分钟前
PHP女程序猿学习Java的Day-5
java·开发语言·学习
z***56569 分钟前
GO 快速升级Go版本
开发语言·redis·golang
矜辰所致10 分钟前
C 语言 —— 函数指针
c语言·开发语言·指针·typedef·函数指针
zore_c11 分钟前
【C语言】struct结构体内存对齐和位段(超详解)
c语言·开发语言·经验分享·笔记
MC皮蛋侠客13 分钟前
C++17多线程编程全面指南
开发语言·c++
郝学胜-神的一滴17 分钟前
Linux C++系统编程:使用mmap创建匿名映射区
linux·服务器·开发语言·c++·程序人生
新手村领路人24 分钟前
c++ opencv缺少openh264-1.8.0-win64.dll
开发语言·c++
周杰伦fans25 分钟前
C# - 直接使用 new HttpClient() 和使用 HttpClientFactory 的区别
开发语言·c#
kyle~26 分钟前
C++ --- noexcept关键字 明确函数不抛出任何异常
java·开发语言·c++
不知所云,27 分钟前
6. c++ 20 Modules 使用
开发语言·c++20·c++ modules