c++ 位操作
来源:互联网 发布:国电南瑞 知乎 编辑:程序博客网 时间:2024/05/16 07:27
<span style="font-size:18px;">// bit_opt.cpp : 定义控制台应用程序的入口点。///************************************************************************//*author:郑金玮time:2014/07/14desc:impl bit set and clear test demo*//************************************************************************/#include "stdafx.h"#include <process.h>#include <iostream>using namespace std;#define bit_move_left(bit) (1<<(bit) )class CBitOpt{public:CBitOpt(){cout<<"construct function called."<<endl<<endl;}~CBitOpt(){cout<<"destructrut function called."<<endl<<endl;}public:enum eBitTag{bit_share=bit_move_left(1),bit_private=bit_move_left(31),bit_count=2};void setbit(eBitTag bit){ m_nBit = m_nBit | bit; }void clearbit(eBitTag bit) { m_nBit = m_nBit & ~bit ;}bool checkbit(eBitTag bit) { return m_nBit & bit ;}void clear() { m_nBit = 0x0000;}private: int m_nBit;};int _tmain(int argc, _TCHAR* argv[]){CBitOpt bitoptobj;bitoptobj.setbit(CBitOpt::bit_private);bitoptobj.setbit(CBitOpt::bit_share);if (bitoptobj.checkbit(CBitOpt::bit_private)){cout<<"this tag has private bit"<<endl;}else{cout<<"this tag has not private bit"<<endl;}if (bitoptobj.checkbit(CBitOpt::bit_share)){cout<<"this tag has share bit "<<endl;}else{cout<<"this tag has not share bit "<<endl;}cout<<endl<<endl<<endl<<"==============after clear bit==========="<<endl<<endl<<endl;bitoptobj.clearbit(CBitOpt::bit_private);if (bitoptobj.checkbit(CBitOpt::bit_private)){cout<<"this tag has private bit"<<endl;}else{cout<<"this tag has not private bit"<<endl;}if (bitoptobj.checkbit(CBitOpt::bit_share)){cout<<"this tag has share bit "<<endl;}else{cout<<"this tag has not share bit "<<endl;}cout<<endl<<endl<<endl<<"--------------after clear all bits----------"<<endl<<endl<<endl;bitoptobj.clear();if (bitoptobj.checkbit(CBitOpt::bit_private)){cout<<"this tag has private bit"<<endl;}else{cout<<"this tag has not private bit"<<endl;}if (bitoptobj.checkbit(CBitOpt::bit_share)){cout<<"this tag has share bit "<<endl;}else{cout<<"this tag has not share bit "<<endl;}system("pause");return 0;}</span>
0 0
- C的位操作
- C语言 位操作
- C 位操作
- c++(位操作符)
- C语言位操作
- C-位操作
- C语言位操作
- C/C++位操作
- C 位操作 详解
- C语言位操作
- C语言位操作
- C语言位操作
- C 位操作
- C 位操作
- c语言位操作
- C语言位操作
- c语言位操作
- C语言-位操作
- NTDLL.dll4 : Load and Unload (ZT)
- 聚簇索引与非聚簇索引的区别
- hdu 2795 Billboard 线段树
- MySQL单机多实例方案
- 剑指offer 二叉树(搜索二叉树插入,遍历)未完待续。。
- c++ 位操作
- 超酷体验 绚丽的jQuery和CSS3应用插件
- 经典c程序(0039) ---求转弯次数
- Android绘制View的过程研究——计算View的大小
- 黑马程序员-java——银行业务调度面试题
- Introduction to NUMA on xSeries Servers
- java的锁机制
- 10大iOS开发者最喜爱的库
- 一些有用的网址