Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: код ASCII  (Прочитано 19044 раз)
0 Пользователей и 1 Гость смотрят эту тему.
pokk
Помогающий

ru
Offline Offline

« : 17-05-2011 13:35 » new

здравствуйте опять я   что-то не не могу понять задание что надо сделать  надо
"Написать программу преобразования двухбайтового кода ASCII в соответствующее  однобайтовое число"

Везде где не искал  всё натыкаюсь на  таблицы от которых легче не становится.
Единственное что нашёл в пример в лекции  но тут  он один  и не очень понятный.
48-> 0100 1000 

0011 0100   
0011 1000

вот тут мне не понятно откуда  взялось  0011   это всегда так ?






Записан
darkelf
Молодой специалист

nl
Offline Offline

« Ответ #1 : 17-05-2011 13:41 » 

Как я понимаю у Вас на входе программы два байта - '4' и '8', на выходе - один байт со значением 48.
Записан
pokk
Помогающий

ru
Offline Offline

« Ответ #2 : 17-05-2011 13:45 » 

Это я тоже понял    так в чём задание ? Взял  их друг за другом сразу и записал в массив  
так  вот  там ещё есть число   3    получается только от него избавится надо и всё ?

аа всё дошло кажись на  выходе должно быть   30h=48
ну это  думаю тоже не сложно   по схеме Горнера сделать

так вот с числом  3  оно  там всё время будет  ? или там может появлять другие цифры ?
« Последнее редактирование: 17-05-2011 13:48 от pokk » Записан
darkelf
Молодой специалист

nl
Offline Offline

« Ответ #3 : 17-05-2011 13:49 » 

Если Вы их просто друг за другом поставите, то это уже будет, наверное, не один байт, а два.
А в лекции это уже вообще двоично-десятичный формат, имхо. К сожалению что у Вас 0011, 0100 и 1000 я тоже не знаю.
Записан
Dale
Блюзмен
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #4 : 17-05-2011 14:08 » 

Единственное что нашёл в пример в лекции  но тут  он один  и не очень понятный.
48-> 0100 1000 

0011 0100   
0011 1000

вот тут мне не понятно откуда  взялось  0011   это всегда так ?

Каковы коды ASCII для литер '0', '1', ... '9'?
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
pokk
Помогающий

ru
Offline Offline

« Ответ #5 : 17-05-2011 14:42 » 

Цитата
Каковы коды ASCII для литер '0', '1', ... '9'?
не знаю что такое литер  но полагаю это как раз моя тройка
видел тут такую надпись  (0-9)=0011 цифра
так что ответ на ваш вопрос 0011 ?
Записан
Dale
Блюзмен
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #6 : 17-05-2011 16:21 » 

Литера - это печатный знак: буква, цифра, знак препинания... Их часто называют символами, но это совершенно безграмотно, поскольку символ - это совершенно другое понятие.

Чтобы представить литеры в памяти компьютера, их нумеруют в некотором порядке, номер литеры называют ее кодом. Существуют различные системы такой нумерации, одна из наиболее часто употребимых - ASCII (American Standard Code for Information Interchange).

Найдите таблицу кодов ASCII, поищите в ней коды литер, соответствующих арабским цифрам, и вам сразу же станет понятно, откуда берется магическое сочетание 0011.
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #7 : 18-05-2011 06:19 » 

pokk, а вот это "Написать программу преобразования двухбайтового кода ASCII в соответствующее  однобайтовое число"
это дословно текст задания?

если я его правльно понял, то оно должно звучать несколько иначе, например:
Дана строка содержащая десятичное представление ASCII кода арабской цифры, например, "51" - необходимо преобразовать ASCII цифры в значение цифры
Хотя моя формулировка тоже не сильно прямая
Записан

Странно всё это....
pokk
Помогающий

ru
Offline Offline

« Ответ #8 : 18-05-2011 11:12 » 

Dale, спасибо за ответ  теперь стало понятно
Антон (LogRus), да это дословное задание

В общем чего я понял
дано 2 байта  массиве    к примеру   0011 0100, 0011 1000
старшие  4 бита   как бы в данной работе не нужны по этому умножаю на  число 00001111  получаю    0100,1000
далее   (0100*1010+1000)=110000    (4*10+8)=48

я правильно понимаю ?



Записан
Dale
Блюзмен
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #9 : 18-05-2011 11:30 » 

Теперь все сходится.
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
pokk
Помогающий

ru
Offline Offline

« Ответ #10 : 18-05-2011 11:54 » 

Цитата
старшие  4 бита   как бы в данной работе не нужны по этому умножаю на  число 00001111  получаю    0100,1000
вот тут  не умножать  а команду   and  использовать  погорячился я что-то с умножением =)
Записан
Dale
Блюзмен
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #11 : 18-05-2011 12:36 » 

Это и есть логическое умножение.
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
pokk
Помогающий

ru
Offline Offline

« Ответ #12 : 18-05-2011 16:37 » 

написал  вот что

Код:
model	small
.data
V1 dw 00110101b,00110011b
V2 dw 1 DUP(?)
.code
mov ax,@data
mov ds,ax
mov si,0
mov cx,3
next:    
mov bx,00001111b
mov ax,V1[si]
and ax,bx
mov v2[si],ax
inc si
loop next

mov si,0
mov bx,1010b
mov ax,v2[si]
mul bx
add ax,V2[si+2]
mov V2[si+5],ax


mov ax,4c00h
int 21h
end


Всем  спасибо за помощь
Записан
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #13 : 19-05-2011 03:37 » 

который раз перечитываю тему и вот что немогу понять, КАК, КАК из описания задачи "Написать программу преобразования двухбайтового кода ASCII в соответствующее  однобайтовое число" можно понять, что тут надо делать

Dale, pokk, вы телепаты Улыбаюсь
Записан

Странно всё это....
Dale
Блюзмен
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #14 : 19-05-2011 05:35 » 

Эх, Антон, выучили бы вы уму-разуму столько студентов, сколько я в свое время, тоже научились бы понимать невысказанное... Я уже привык к тому, что они смотрят умными глазами, а сформулировать не могут Ага

Главное - искусство правильно задавать наводящие вопросы. Например, вопрос "в каких единицах измеряется сила тока?" - это удар ниже пояса, верная двойка со всеми вытекающими. А вот вопрос: "не в амперах ли измеряется сила тока?" - это уже совсем другое дело, конструктивный подход.

Ну и плюс два гуманитария дома, а с кошкой даже три... Благодаря этому я совершенно не теряюсь с правильными ответами на вопросы типа "ты тогда сделал это там?".
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
darkelf
Молодой специалист

nl
Offline Offline

« Ответ #15 : 19-05-2011 05:48 » 

написал  вот что

Код:
V1		dw	00110101b,00110011b
V2 dw 1 DUP(?)

...
Всем  спасибо за помощь
А почему у Вас V1 и V2 dw?
Записан
pokk
Помогающий

ru
Offline Offline

« Ответ #16 : 19-05-2011 12:21 » 

Цитата
А почему у Вас V1 и V2 dw?

видимо   от предыдущей лабораторной осталось. Щас переделаю =) хотя я  тут не вижу  нечего страшного что  по больше места выделил   

Антон (LogRus),это тут ещё более менее написано понятно что делать в лабе надо было  =)
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines