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

右移位>>

类似左移位

 

 

posted @   天空的凝望  阅读(182)  评论(0编辑  收藏  举报
编辑推荐:
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
阅读排行:
· 不到万不得已,千万不要去外包
· C# WebAPI 插件热插拔(持续更新中)
· 会议真的有必要吗?我们产品开发9年了,但从来没开过会
· 【译】我们最喜欢的2024年的 Visual Studio 新功能
· 如何打造一个高并发系统?
点击右上角即可分享
微信分享提示