void intDrawBits (int _i, int _posX, int _posY) {
if (_i & (1 << 31)) // avoid arithmetic bitwise
draw_text("1", _posX+=12, _posY, COLOR_WHITE);
else
draw_text("0", _posX+=12, _posY, COLOR_WHITE);
int _bit = 1 << 30;
for (; _bit>0; _bit=_bit>>1) {
if (_i & _bit)
draw_text("1", _posX+=12, _posY, COLOR_WHITE);
else
draw_text("0", _posX+=12, _posY, COLOR_WHITE);
}
}
void intDrawBitsByBytes (int _i, int _posX, int _posY) {
BYTE *_b = (BYTE*)&_i;
BYTE *_bLast = _b + sizeof(int);
for (; _b<_bLast; _b+=1) {
BYTE _bit = 1 << 7;
for (; _bit>0; _bit=_bit>>1) {
if (*_b & _bit)
draw_text("1", _posX+=12, _posY, COLOR_WHITE);
else
draw_text("0", _posX+=12, _posY, COLOR_WHITE);
}
}
}