Установить цифру шестнадцатеричного числа

Как установить цифру в шестнадцатеричном числе? В настоящее время у меня есть этот код:

int row = 0x00000000;
row |= 0x3 << 8;
row |= 0x2 << 4;
row |= 0x1 << 0;

printf("Row: 0x%08x", row);

, который отлично работает, пока «строка» состоит только из нулей. Как только я меняю его на что-то вроде этого:

int row = 0x33333333;
row |= 0x3 << 8;
row |= 0x2 << 4;
row |= 0x1 << 0;

printf("Row: 0x%08x", row);

, я просто получаю такой вывод:

Row: 0x33333333

5
задан Richard Brightwell 14 May 2011 в 11:53
поделиться