Двоичное число (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;
}