Download Our Windows 7 Tips!
145 members
228 members
271 members
474 members
611 members
Replied Aug 18
const int endianTest = 1;
#define isBigEndian ((unsigned char*)&endianTest)[3]
template <class T>
void printBinary(T var, unsigned int len, bool group8 = false, char groupChar = ' ')
{
unsigned int indexPos;
if (!isBigEndian)
indexPos = 0;
else
indexPos = len-1;
unsigned char mask = 128;
unsigned char* var_ptr = ((unsigned char*)&var);
for (unsigned int i=0; i<len*8 ;i++)
{
if (mask & var_ptr[indexPos])
std::cout << "1";
else
std::cout << "0";
mask = mask >> 1;
if (mask == 0)
{
if(group8)
std::cout << groupChar;
mask = 128;
if (!isBigEndian)
var_ptr++;
else
var_ptr--;
}
}
std::cout << std::endl;
}
Darklord has not received any gifts yet
© 2009 Created by Chris Pirillo