Двоичное число (Int to binary)

В C++ можно записать двоичное число: int x = 0b11001;

У меня это двоичное число хранится как простое десятичное число:

int x = 11001;

Как его можно перевести в двоичное, ведь способ:

int binary = 0bx;

Работать не будет.

Нужно двоичное значение конвертировать в UTF-8:

char c[5] = { 0,0,0,0,0 }; // arba unsigned char

c[0] = 0b11100010; // (dec - 226, hex - e2 (0xe2))
c[1] = 0b10011000; // (dec - 152, hex - 98 (0x98))
c[2] = 0b10111010; // (dec - 186, hex - ba (0xba))

Это работает, но мне нужно получить двоичное число, путём конвертации из десятичного. Приставку 0b можно как нибудь дописать к переменной?


Ответы (1 шт):

Автор решения: NunOfIt

Нет, приставку к переменной дописать не получится, тем более число 11001 не является двоичным (в данном случае), а дестичным.

int mask = 1, res = 0, x = 11001;
while(x) {
    if(x % 10)
        res += mask;
    x /= 10;
    mask <<= 1;
}
→ Ссылка