#include <stdio.h>
class BYTE
{
public:
BYTE()
{
m_szpVal = NULL;
}
~BYTE()
{
}
bool operator [](int nSet)
{
int nVal;
int nCur;
int nBit;
nCur = nSet>>3;
nBit = 7 - (nSet % 8);
nVal = *(m_szpVal + nCur);
nVal = nVal >> nBit & 1;
return nVal ? 1:0;
}
BYTE& operator =(char* szpBuff)
{
m_szpVal = szpBuff;
return *this;
}
private:
char* m_szpVal;
};
int main()
{
BYTE cByte;
char szaBuff[4] = {0};
*(int*)szaBuff = 0x1F2E3C4A;
cByte = (char*)szaBuff;
printf("BYTE:");
for(int i=0; i<32; i++)
{
if(i%4 == 0)
printf(" ");
printf("%d", cByte[i]);
}
printf("\n\n");
return 0;
}