常用的Bit位操作 记录
来源:互联网 发布:cdma是什么网络 编辑:程序博客网 时间:2024/05/01 16:55
常用的Bit位操作 记录
常用的Bit位操作 记录
// 检测某一位是否为1#ifndef EX_BIT_ENABLED#define EX_BIT_ENABLED( dword, bit ) ( ((dword) & ( 0x01 << bit)) != 0 )#endif// 设置某一位为 1 #ifndef EX_SET_BIT_ENABLED#define EX_SET_BIT_ENABLED( dword, bit ) ( (dword) |= ( 0x01 << bit ))#endif// 设置某一位为 0#ifndef EX_SET_BIT_UNENABLED#define EX_SET_BIT_UNENABLED( dword, bit ) (dword &= ~( 0x01 << bit ))#endif// 某一位去翻#ifndef EX_REVERSE_BIT#define EX_REVERSE_BIT( dword, bit )\if( EX_BIT_ENABLED(dword,bit) )\{\EX_SET_BIT_UNENABLED(dword,bit);\}\else\{\EX_SET_BIT_ENABLED( dword,bit );\}#endif
附上测试代码
int main(){// testing EX_BIT_ENABLEDlong value = 32;bool ret = EX_BIT_ENABLED( value, 5 );ret = EX_BIT_ENABLED( value, 4 );EX_SET_BIT_ENABLED( value, 4 );ret = EX_BIT_ENABLED( value, 4 );EX_SET_BIT_UNENABLED( value, 4 );ret = EX_BIT_ENABLED( value, 4 );EX_REVERSE_BIT( value, 4 )ret = EX_BIT_ENABLED( value, 4 );EX_REVERSE_BIT( value, 4 )ret = EX_BIT_ENABLED( value, 4 );return 0;}
0 0
- 常用的Bit位操作 记录
- 任意类型数的bit位操作
- 常见的位操作bit manipulation
- BIT位操作用途
- (嵌入式)位(bit)操作
- 常用的位操作
- C/C++ bit 位操作
- C/C bit 位操作
- C/C++位域(Bit-fields)操作的问题
- [bit manipulation] 关于位操作的一些博客
- 【Unity3d】在编辑器中实现位操作(Bit)的编辑
- 基于位(Bit)的文件操作读写类
- 关于位操作学习的一些记录
- 记录常忘记的位操作
- 常用标准库函数的常用操作记录
- 位操作(Bit manipulation) 被置1的位的个数
- bit位操作基础篇之位操作全面总结
- PHP操作十进制正整数中的bit位
- 该磁盘不能被分区,因为不能移动某些文件/未能修改分区图,因为文件系统验证失败
- Cookie文件说明及IE的Cookie文件格式
- android中关于logcat的管理
- 【题目】C++中enum分析
- 用于Lucene的各中文分词比较
- 常用的Bit位操作 记录
- HDFS正常启动,DataNode节点个数为0的问题
- 最大连续子序列O(n)
- [Jweb] Cookie -- SetCookies.java / ShowCookies.java
- android反编译详解(附带反编译工具,包含mac和windows版本)
- 题目1117:整数奇偶排序
- C++面向对象类的实例题目八
- 微信/移动端Web页面调试小技巧
- 如何高效利用GitHub