IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Перевод в текст
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 4
Пол: Мужской

Репутация: -  0  +


Помогите написать программу, для перевода кирилицы(или хотябы латинских букв) в бинарный код. Заранее спасибо ! smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Знаток
****

Группа: Пользователи
Сообщений: 481
Пол: Мужской
Реальное имя: Федосеев Павел

Репутация: -  9  +


Все символы в кодировке ascii занимают 1 байт.
Это я к тому, что типы char и byte - почти одно и то же. Различными их делает компилятор Pascal (из-за строгой типизации языка). Но есть возможность приведения типов (typecast)
program Typecast;
var
c: char;
b: byte;
begin
c := 'f';
b := byte( с );
writeln('Char: ', c);
writeln('Byte: ', b);
end.

Это идея. А дальше - приводи попытки решения.

Сообщение отредактировано: Федосеев Павел -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 4
Пол: Мужской

Репутация: -  0  +


Цитата(Федосеев Павел @ 15.05.2014 17:25) *

Все символы в кодировке ascii занимают 1 байт.
Это я к тому, что типы char и byte - почти одно и то же. Различными их делает компилятор Pascal (из-за строгой типизации языка). Но есть возможность приведения типов (typecast)
program Typecast;
var
c: char;
b: byte;
begin
c := 'f';
b := byte( с );
writeln('Char: ', c);
writeln('Byte: ', b);
end.

Это идея. А дальше - приводи попытки решения.

Не могли бы вы скинуть полную версию данной программы ? Просто я новенький и наврятле смогу доделать сам =) Надеюсь на вас, заранее спасибо
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Знаток
****

Группа: Пользователи
Сообщений: 481
Пол: Мужской
Реальное имя: Федосеев Павел

Репутация: -  9  +


То, что я привёл - это пояснительный материал, т.е. другой версии - нет.
Я не понимаю условие задачи, поэтому не могу и что-либо решать.
Попробуй самостоятельно.
Как я припоминаю, в школе в 9 классе на освоение конструкций BASIC мне понадобилась 1 неделя, на Pascal - 2 недели. Т.е. это всё не сложно.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





Группа: Пользователи
Сообщений: 4
Пол: Мужской

Репутация: -  0  +


Цитата(Федосеев Павел @ 16.05.2014 7:25) *

То, что я привёл - это пояснительный материал, т.е. другой версии - нет.
Я не понимаю условие задачи, поэтому не могу и что-либо решать.
Попробуй самостоятельно.
Как я припоминаю, в школе в 9 классе на освоение конструкций BASIC мне понадобилась 1 неделя, на Pascal - 2 недели. Т.е. это всё не сложно.

Насчет условия: необходимо написать программу ,чтобы она исходную букву(А,б,в и т.д.) переводила в двоичный код.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Знаток
****

Группа: Пользователи
Сообщений: 481
Пол: Мужской
Реальное имя: Федосеев Павел

Репутация: -  9  +


Ну вот, мой пример это и выполняет.
Если исходные данные у тебя строка - то пройдись по всем символам строки в цикле и распечатай двоичное представление каждого символа.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7





Группа: Пользователи
Сообщений: 4
Пол: Мужской

Репутация: -  0  +


Цитата(Федосеев Павел @ 16.05.2014 9:10) *

Ну вот, мой пример это и выполняет.
Если исходные данные у тебя строка - то пройдись по всем символам строки в цикле и распечатай двоичное представление каждого символа.

Char: I
Byte: 73
Не похоже на двоичный код. Что еще надо сделать ?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Знаток
****

Группа: Пользователи
Сообщений: 481
Пол: Мужской
Реальное имя: Федосеев Павел

Репутация: -  9  +


Sorry, в первом посте был термин "бинарный код", а под это определение попадает и тип byte.

А ты подумай, как можно из байта получить строку символов из 0 и 1.
Побитовые операции, сдвиги учил?
Ну вот, после преобразования символа в число, делаешь преобразование числа в строку символов из 0 и 1.
Берёшь переменную m - маску - равную (1 shl 7) = $80 и проверяешь на ноль результат побитового умножения на число ( if (m and b) = 0 ). Если 0, то в строку s дописываешь символ "0", иначе - символ "1". Потом сдвигаешь маску на 1 вправо и повторяешь проверку. И так 8 раз. В результате - строка с двоичным представлением твоего байта.

Покажи свои попытки решения. Иначе мне просто неинтересно выполнять за тебя чтение учебников.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 3.05.2024 0:22
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name