Exemplo n.º 1
0
int TBitField::GetBit(const int n) const 
{
	if ((n<0) || (n>=BitLen)) 
		throw 
		out_of_range("out of range"); 
	return (((pMem[GetMemIndex(n)] & GetMemMask(n)) == 0)? 0 : 1);
}
Exemplo n.º 2
0
void TBitField::SetBit(const int n)
{
	if ((n<0) || (n>=BitLen)) 
		throw 
		out_of_range("Out of range"); 
	pMem[GetMemIndex(n)]|=GetMemMask(n); 
}
Exemplo n.º 3
0
void TBitField::SetBit(const int n) // установить бит
{
	if ((n<0) || (n>BitLen))
		throw "Error";
	else
		pMem[GetMemIndex(n)] |= GetMemMask(n);
}
Exemplo n.º 4
0
int TBitField::GetBit(const int n) const // получить значение бита
{
	if ((n > -1)&&(n < BitLen))
	{
		int i = GetMemIndex(n);
		return (pMem[i] & GetMemMask(n)) >> (n % 16);
	}
Exemplo n.º 5
0
int TBitField::GetBit(const int n) const // получить значение бита
{
	if ((n>=0) && (n<BitLen))
	{
		return ((pMem[GetMemIndex(n)] & GetMemMask(n))>0);
	}else
		throw new exception();
}
Exemplo n.º 6
0
void TBitField::SetBit(const int n) // установить бит
{
	if ((n<0)||(n>=BitLen))
		throw n;
	int Ind = GetMemIndex(n);
	TELEM mask = GetMemMask(n);
	pMem[Ind] = pMem[Ind]|mask;
}
Exemplo n.º 7
0
void TBitField::SetBit(const int n) // установить бит
{
	if ((n>=0) && (n<BitLen))
	{
		pMem[GetMemIndex(n)] |= GetMemMask(n);
	}
	else
		throw new exception();
}
Exemplo n.º 8
0
int TBitField::GetBit(const int n) const // получить значение бита
{
	if (n <0)
		throw "Negative Index";
	else if (n >BitLen)
		throw "Index more than length of bit field";
	else 
		return pMem[GetMemIndex(n)]& GetMemMask(n);
}
Exemplo n.º 9
0
void TBitField::SetBit(const int n) // установить бит
{
	if (n < 0)
		throw "Negative Index";
	else if (n > BitLen)
		throw "Index more than length of bit field";
	else 
		pMem[GetMemIndex(n)]|=GetMemMask(n);
}
Exemplo n.º 10
0
void TBitField::SetBit(const int n) // установить бит
{
	if ((n > -1)&&(n < BitLen))
	{
		int i = GetMemIndex(n);
		pMem[i] = pMem[i] | GetMemMask(n);
	}
	else throw "SET_BIT_WITH_NEGATIVE_OR_TOO_LARGE_INDEX";
}
Exemplo n.º 11
0
void TBitField::ClrBit(const int n) // очистить бит
{
	if ((n>=0)&&(n<BitLen))
	{int index;
	index=GetMemIndex(n);
	TELEM Mask;
	Mask=GetMemMask(n);
	pMem[index]&=~Mask;}
	else { throw invalid_argument("Len<=0..."); }
}
Exemplo n.º 12
0
int TBitField::GetBit(const int n) const // получить значение бита
{
	if ((n<0)||(n>=BitLen))
		throw n;
	int Ind = GetMemIndex(n);
	TELEM mask = GetMemMask(n);
	if (pMem[Ind]&mask)
        return 1;
	else
		return 0;
}
Exemplo n.º 13
0
void TBitField::ClrBit(const int n) // очистить бит
{
	if ((n < 0)||(n > BitSize))
		throw n;
	else
	{
	   int m = GetMemIndex(n);
	   TELEM mask = GetMemMask(n);
	   mas[m]= (mas[m] & ~mask);
	}
}
Exemplo n.º 14
0
void TBitField::SetBit(const int n) // установить бит
{
	if ((n < 0)||(n > BitSize))
		throw n;
	else
	{
		int m = GetMemIndex(n);
        TELEM mask = GetMemMask(n);
        mas[m] = (mas[m] | mask);
	}
}
Exemplo n.º 15
0
TBitField TBitField::operator~(void) 
{
	int n=BitLen;
	TBitField tmp(n);
	TELEM f = 0;
	for (int i=0;i<(BitLen % B_pMem);i++)
		f |= GetMemMask(i);
	pMem[MemLen - 1] |= (~f);
	for (int i=0;i<MemLen;i++)
		tmp.pMem[i]=~pMem[i];
	return tmp;
}
Exemplo n.º 16
0
int TBitField::GetBit(const int n) const // получить значение бита ????
{
	if((n<0)||(n>BitLen))
		throw "Error";
	else
	{
	TELEM temp = GetMemMask(n);
	if((pMem[GetMemIndex(n)]&temp)==0)
		return 0;
	else
		return 1;
	}
}
Exemplo n.º 17
0
int TBitField::GetBit(const int n) const // получить значение бита
{
	if ((n>=0)&&(n<BitLen))
		return pMem[GetMemIndex(n)]&GetMemMask(n);
	else { throw invalid_argument("Len<=0..."); }
	//return 0;
	/*int fl=1;                                                            !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
	int index=GetMemIndex(n);
	TELEM Mask=GetMemMask(n);
	Mask=Mask&pMem[index];
	if (Mask=0) fl=0;
	return fl;*/
}
Exemplo n.º 18
0
int TBitField::GetBit(const int n) const // получить значение бита
{
	if ((n < 0)||(n > BitSize))
		throw n;
	else
	{
		int m = GetMemIndex(n); // ищем ячейку
        TELEM mask = GetMemMask(n); // маска на эту ячейку
        int result = (mask & mas[m]); 
        if (result == 0)
        	return(0);
        else
        	return(1);
	}
}
Exemplo n.º 19
0
int TBitField::GetBit(const int n) const // получить значение бита
{
    if ((n>-1)&&(n<BitLen))
        return pMem[GetMemIndex(n)] & GetMemMask(n);
    return 0;
}
Exemplo n.º 20
0
int TBitField::GetBit(const int n) const // получить значение бита
{
	if ((n < 0) || (n > BitLen)) 
		throw out_of_range("out of range");
	return pMem[GetMemIndex(n)] & GetMemMask(n); 
}
Exemplo n.º 21
0
void TBitField::SetBit(const int n) // установить бит
{
	if ((n<0)||(n>BitLen)) throw invalid_argument("--");
	pMem[GetMemIndex(n)]=pMem[GetMemIndex(n)]|GetMemMask(n);
}
Exemplo n.º 22
0
int TBitField::GetBit(const int n) const // получить значение бита
{  if ((n<0)||(n>BitLen)) throw invalid_argument("--");
   if ((pMem[GetMemIndex(n)] & GetMemMask(n))>0 ) return 1; 
   else return 0;
}
Exemplo n.º 23
0
void TBitField::SetBit(const int n) // установить бит
{
    int i = GetMemIndex(n);
    TELEM mask = GetMemMask(n);
    pMem[i] |= mask;
}