Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Бинарный массив кода в символ на экран


Автор: Him 6.6.2010, 18:21
Доброго времени суток, уважаемые!

Помогите разобраться: имеется массив разбитого по символам двоичного кода (1 и 0).
Код

BYTE mas[8]={0,1,1,0,1,0,1,1};

Надо из него обратно получить двоичный код, т.е. переменную со значением 01101011.
Не вывод на печать и не ввод с клавиатуры, а именно из массива в переменную.
Полученное значение затем будет перекодироваться в символ на экран.
Язык borland c++ (v. 3.1)


Автор: djamshud 6.6.2010, 18:55
Примерно так:

Код

char res=0;
for(int i=0;i<8;i++)
res|=mas[i]<<i;

Автор: Him 6.6.2010, 19:15
djamshud!
 
Спасибо чуть позже сяду колупаться smile
Если я правильно понял, то это просто побитовое ИЛИ, иначе называется OR

Код

     01011
   + 
     11001
------------------
     11011

Автор: djamshud 6.6.2010, 19:25
Это битовое ИЛИ с присвоением. Можно раскрыть так:
res=res|(mas[i]<<i)

http://ru.wikipedia.org/wiki/Битовые_операции

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)