Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> получение символа из двоичного кода 
:(
    Опции темы
Atilla360
Дата 4.5.2010, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 28.10.2009

Репутация: нет
Всего: нет



Здравствуйте.
Необходимо с двоичного кода получить символ.


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

Код


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

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




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

Спасибо. 

Это сообщение отредактировал(а) Atilla360 - 4.5.2010, 22:43
PM MAIL   Вверх
mes
Дата 4.5.2010, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



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

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


--------------------
PM MAIL WWW   Вверх
Atilla360
Дата 7.5.2010, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 28.10.2009

Репутация: нет
Всего: нет



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


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

Это сообщение отредактировал(а) Atilla360 - 7.5.2010, 10:30
PM MAIL   Вверх
xvr
Дата 7.5.2010, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 60
Всего: 223



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

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

PM MAIL   Вверх
Atilla360
Дата 7.5.2010, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 28.10.2009

Репутация: нет
Всего: нет



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

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


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


но она же как бы возвращает число, а у меня и буквы, или не важно?
PM MAIL   Вверх
mes
Дата 7.5.2010, 11:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



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

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

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


Это сообщение отредактировал(а) mes - 7.5.2010, 11:48


--------------------
PM MAIL WWW   Вверх
xvr
Дата 7.5.2010, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 60
Всего: 223



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


PM MAIL   Вверх
shara
Дата 13.5.2010, 23:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 29.6.2004
Где: печенье?

Репутация: нет
Всего: 2



xvr

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


--------------------
   с точки зрения аэродинамики шмель не может летать  
PM MAIL   Вверх
mes
Дата 13.5.2010, 23:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



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

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


--------------------
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1589 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.