c语言的位运算符学习笔记
按位取反运算符~
每位的值取反
~(10010110) = 01101001
按位与运算符&
对应位只有2个操作数都为1结果才为1
(10001011)&(10111101)=10001001
用法:取掩码
我们经常会看到代码中有
a & 0xff |
就是将低16位之外的位全部置0,仅保留低16位的值
按位或运算符|
对应位只要有1个操作数为1结果就为1
(10001011)|(10111101)=10111111
用法:打开位
譬如MASK = 0x00000100 <br>任意值 rand |= MASK 其实就是将从低位开始第三位设置成 1 ,其它位保持不变 |
按位异或运算符^
对应位相同则为0,不相同结果为1
(10001011)^(10111101)=00110110
用法:转置位
移位运算符
左移位<<
每一位向左移x位
例如:
a = 0x00000001 a<< 2 这时a = 0x00000100 |
右移位>>
类似左移位
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
· 不到万不得已,千万不要去外包
· C# WebAPI 插件热插拔(持续更新中)
· 会议真的有必要吗?我们产品开发9年了,但从来没开过会
· 【译】我们最喜欢的2024年的 Visual Studio 新功能
· 如何打造一个高并发系统?