bitstring.cpp

来自「这是一个用c++编写的可以处理4台10层电梯的电梯调度系统」· C++ 代码 · 共 72 行

CPP
72
字号
// BitMap.cpp: implementation of the CBitString class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "BitString.h"


/*####################################################################
  模块名称:	位向量
  开发作者:	漫步阳光
  开发时间:	@2005.11
####################################################################*/


//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CBitString::CBitString()
{
//AfxMessageBox("CBitString :: construction.");
	m_iStrLen = 10;
	m_wBitString = WORD(0);
}

CBitString::CBitString(int iStrLen)
{
//AfxMessageBox("CBitString :: construction.");
	if(iStrLen>32) return;
	m_iStrLen = iStrLen;
	m_wBitString = WORD(0);
}

CBitString::~CBitString()
{

}

//置位
void CBitString::setBit(int index)
{
if(index<1 || index>m_iStrLen) return;
/*
CString tempStr="";
tempStr.Format("%d",m_iStrLen);
AfxMessageBox(tempStr);
*/
m_wBitString |= ((WORD)(1) <<index);
}

//取位
bool CBitString::getBit(int index)
{
if(index<1 || index>m_iStrLen) return FALSE;
return (m_wBitString & ((WORD)(1) <<index)) ? TRUE:FALSE;
}

//清位
void CBitString::clrBit(int index)
{
if(index<1 || index>m_iStrLen) return;
m_wBitString &= ~((WORD)(1) <<index);
}

//显示位串
CString CBitString::showBitMap()
{
CString strTemp="";
for(int i=m_iStrLen; i>0; i--) strTemp += (getBit(i) ? "1":"0");
return strTemp;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?