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


Автор: Atilla360 4.5.2010, 22:40
Здравствуйте.
Необходимо с двоичного кода получить символ.


Для перевода символа в двоичный код я использовал такой код

Код


char c ;
int k = 512;   //тоесть по 10 цифр на каждый символ
while(k>0) 

    printf("%d", bool(c&k) ); 
    k=k>>1;
}




а для обратного преобразования - такого простого решения не нашел. может есть у кого пример?

Спасибо. 

Автор: mes 4.5.2010, 23:02
Цитата(Atilla360 @  4.5.2010,  21:40 Найти цитируемый пост)
а для обратного преобразования - 

ну прежде всего стоит определить в каком виде задана Ваша двоичная последовательность..

Автор: Atilla360 7.5.2010, 10:29
Цитата(mes @  4.5.2010,  23:02 Найти цитируемый пост)
ну прежде всего стоит определить в каком виде задана Ваша двоичная последовательность.. 


ну например закодировал букву "б" получил 1111100001, букву "в" - 1111100010

Автор: xvr 7.5.2010, 11:02
А можно узнать, с каких пор в байте стало по 10 битов?
Цитата

а для обратного преобразования - такого простого решения не нашел. может есть у кого пример?
Есть - функция strtol c 3м параметром равным 2

Автор: Atilla360 7.5.2010, 11:05
Цитата(xvr @  7.5.2010,  11:02 Найти цитируемый пост)
стало по 10 битов

та то не обратил внимание))))


Цитата(xvr @  7.5.2010,  11:02 Найти цитируемый пост)
функция strtol c 3м параметром равным 2


но она же как бы возвращает число, а у меня и буквы, или не важно?

Автор: mes 7.5.2010, 11:41
Atilla360, для начала разберитесь с представлением чисел.. Символы хранятся тоже как числа в памяти компа )

Добавлено @ 11:45
Цитата(Atilla360 @  7.5.2010,  09:29 Найти цитируемый пост)
 получил 1111100001, букву "в" - 1111100010

если 111....  строка, то ставятся кавычки, иначе указывается чем представлено  )

Автор: xvr 7.5.2010, 11:51
Цитата(Atilla360 @  7.5.2010,  11:05 Найти цитируемый пост)
но она же как бы возвращает число, а у меня и буквы, или не важно? 
В С нет разницы между числами и буквами  smile И то и другое (и int и char) целочисленные типы.


Автор: shara 13.5.2010, 23:27
xvr

 smile  
не ну мне интересно, а примерчик есть какойнить наглядный..  в какой языке программирования может быть такое различие и в чем оно будет заключаться

Автор: mes 13.5.2010, 23:57
Цитата(shara @  13.5.2010,  22:27 Найти цитируемый пост)
не ну мне интересно, а примерчик есть какойнить наглядный..  в какой языке программирования может быть такое различие и в чем оно будет заключаться

тот же старый добрый паскаль, в нем две функции ord() и chr() для получения кода из символа и обратного перевода соответственно.. 
ну а отличие "чисто" символьного типа в том, что к нему нельзя применять арифметические операции.
smile

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