Код: Выделить всё
char test=0x30;//0x00110000;
unsigned long e;
for(e=0;e<8;e++)
if((test>>e) & 0x00000001)
//then 1
else
//then 0
Код: Выделить всё
char test=0x30;//0x00110000;
unsigned long e;
for(e=0;e<8;e++)
if((test>>e) & 0x00000001)
//then 1
else
//then 0
Код: Выделить всё
unsigned char dig_base = 10; //База системы счисления, в которую выполняем разложение
long long val = 123456789; //Входное число
unsigned char* digits = new unsigned char[1];
int pos = 0;
while(val>0)
{
realoc(digits, sizeof(unsigned char) * (pos+1));
digits[pos] = (unsigned char)((long long)val%dig_base);
val = val/(long long)dig_base ;
pos++;
}