Ludmila
|
|
« : 20-11-2008 19:34 » |
|
Помогите пожалуйста построить конечный автомат для перевода дробных двоичныхчисел в десятичные
|
|
|
Записан
|
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
|
« Ответ #1 : 20-11-2008 20:16 » |
|
Ну вообше то я вижу простую арифметику. Убрать целую часть и пошел умножать на десять, пока не исчезнит дробная часть. Если сюда всовывать конечный автомат, то в приципе овчинка выделки не стоит.
|
|
« Последнее редактирование: 15-12-2008 17:58 от Алексей1153++ »
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
Вад
|
|
« Ответ #2 : 20-11-2008 20:50 » |
|
Finch, ну задача-то, как я понимаю, учебная Хотя, может, автор опровергнет. Ludmila, уточни, с чем конкретно проблема. Какие свои мысли есть? Не может быть, чтоб совсем не было
|
|
|
Записан
|
|
|
|
Ludmila
|
|
« Ответ #3 : 21-11-2008 10:27 » |
|
Так звучит моя курсовая работа по дискретной математике.Нужно расписать все состояния автомата что поступает на вход а что поступает на выход. что-то вроде такого (для перевода из двоичных в десятичный): Например: поступает двоичное число 001001 1) левые нули отбрасываются ; 2) w=1; 3) если 0, то w*2=2; 4) если 1, то w*2+1; Конечно это всё нужно рассписать в виде таблицы и для перевода дробных двоичных чисел. А вот это я как раз и не знаю, практики было очень мало
|
|
|
Записан
|
|
|
|
Ludmila
|
|
« Ответ #4 : 21-11-2008 10:53 » |
|
Ну чего мне теперь делать если я реально не могу понять как построить конечный автомат? Ну я не очень умная! Да я это признаю!Поэтому я к Вам и обратилась за помощью! Может я не понимаю даже элементарного! Я надеюсь на Вашу помощь, хотя б какую нибудь подсказочку!!!
|
|
|
Записан
|
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #6 : 21-11-2008 10:59 » |
|
|
|
|
Записан
|
|
|
|
Ludmila
|
|
« Ответ #7 : 21-11-2008 11:00 » |
|
Я не могу расписать состояния
|
|
|
Записан
|
|
|
|
Ludmila
|
|
« Ответ #8 : 21-11-2008 11:02 » |
|
Всё это я не раз просмотрела!Но понять как расписать я не могу
|
|
|
Записан
|
|
|
|
Dr.Yevhenius
|
|
« Ответ #9 : 21-11-2008 18:06 » |
|
Для начала ты должна выяснить, какие сигналы автомат принимает (все возможные)!
|
|
|
Записан
|
|
|
|
Ludmila
|
|
« Ответ #10 : 21-11-2008 18:10 » |
|
Впринципе это двоичный код значит 0 и 1 а если дрбные то значит ещё надо учесть запятую
|
|
|
Записан
|
|
|
|
Dr.Yevhenius
|
|
« Ответ #11 : 21-11-2008 18:13 » |
|
Теперь создай все необходимые переменные для реализации автомата (например - начало числа (отсечение нолей)). Если потом не будет хватать, то добавить можно в любую минуту...
|
|
|
Записан
|
|
|
|
Dr.Yevhenius
|
|
« Ответ #12 : 21-11-2008 18:15 » |
|
поступает двоичное число 001001 1) левые нули отбрасываются ; 2) w=1; 3) если 0, то w*2=2; 4) если 1, то w*2+1;
Перед тем как продолжать, уточни, что такое w?
|
|
|
Записан
|
|
|
|
Вад
|
|
« Ответ #13 : 21-11-2008 18:16 » |
|
Ludmila, как выглядит двоичное представление вещественного числа? Понятия экспоненты и мантиссы знакомы?
|
|
|
Записан
|
|
|
|
Ludmila
|
|
« Ответ #14 : 21-11-2008 18:18 » |
|
w - какая-либо переменная, от которой будет зависеть запись на выходе
|
|
|
Записан
|
|
|
|
Вад
|
|
« Ответ #15 : 21-11-2008 18:35 » |
|
если я правильно понимаю, то для считывания стандартного двоичного представления есть состояния "считывается знак", "считывается мантисса", "считывается экспонента". Переход в каждое из этих состояний сопровождается инициализацией счётчика двоичных разрядов, которые осталось считать (ведь по-нормальному, их число фиксировано). Обнуление счётчика приводит к фиксации результата и смене состояния.
Если под двоичными дробными понимается что-то совсем своё - то состояния будут несколько иными.
|
|
« Последнее редактирование: 15-12-2008 18:01 от Алексей1153++ »
|
Записан
|
|
|
|
Вад
|
|
« Ответ #16 : 21-11-2008 18:35 » |
|
Ludmila, приводимый пример преподаватель дал?
|
|
|
Записан
|
|
|
|
Ludmila
|
|
« Ответ #17 : 21-11-2008 18:36 » |
|
Да
|
|
|
Записан
|
|
|
|
Вад
|
|
« Ответ #18 : 21-11-2008 18:38 » |
|
Тогда повторю вопрос: Ludmila, как выглядит двоичное представление вещественного числа? Понятия экспоненты и мантиссы знакомы? Потому что от этого зависит, какие будут состояния. Лучше представление числа изобразить схематически.
|
|
|
Записан
|
|
|
|
Dr.Yevhenius
|
|
« Ответ #19 : 21-11-2008 18:41 » |
|
Какие примеры у тебя есть - покажи их...
|
|
|
Записан
|
|
|
|
Ludmila
|
|
« Ответ #20 : 21-11-2008 18:43 » |
|
как какие Вот только то, что приведено выше и не более того
|
|
|
Записан
|
|
|
|
Dr.Yevhenius
|
|
« Ответ #21 : 21-11-2008 18:46 » |
|
(Я нашёл только 001001, если я не прав, скажите) Для 001001 тогда будет всего 3 сигнала - "0", "1" и "." (завершение введения), так это очень просто как для курсовой работы
|
|
|
Записан
|
|
|
|
Ludmila
|
|
« Ответ #22 : 21-11-2008 18:49 » |
|
а у меня тогда будет 4 сигнала "0" "1" "," "."?
|
|
|
Записан
|
|
|
|
Dr.Yevhenius
|
|
« Ответ #23 : 21-11-2008 18:52 » |
|
Понятия экспоненты и мантиссы знакомы?
Первый раз про мантиссы слышу... Зашёл на Википедию, прочитал, разобрался. А теперь извините, не понял: зачем для 011001010 мантиссы и экспоненты, если такое двоичное представление можно сразу переводить в число? (изменение: ну хотя бы число 100100111,100101?)
|
|
« Последнее редактирование: 21-11-2008 18:54 от Inkognito »
|
Записан
|
|
|
|
Dr.Yevhenius
|
|
« Ответ #24 : 21-11-2008 18:58 » |
|
У меня при создании автомата был такой алгоритм: 1) определение входных сигналов; 2) создание переменных; 3) создание графа переходов (+ досоздание переменных); 4) рисовал таблицу переходов; 5) и потом писал код программы.
|
|
|
Записан
|
|
|
|
Вад
|
|
« Ответ #25 : 21-11-2008 19:00 » |
|
Inkognito, поскольку я до сих пор не понял, какую запись дробного двоичного подразумевает задание, запись вида "100100111,100101" мне кажется сомнительной - никогда не видел, чтобы так записывали, даже для учебного задания.
|
|
|
Записан
|
|
|
|
Dr.Yevhenius
|
|
« Ответ #26 : 21-11-2008 19:05 » |
|
Вад, мне самому эта запись не нравится.
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #27 : 21-11-2008 19:14 » |
|
тоже никогда ещё не встречал применения дробного двоичного числа ))
|
|
|
Записан
|
|
|
|
Ludmila
|
|
« Ответ #28 : 21-11-2008 19:21 » |
|
Как вы считаете это правильно или бред? Граф
|
|
« Последнее редактирование: 15-12-2008 18:03 от Алексей1153++ »
|
Записан
|
|
|
|
Ludmila
|
|
« Ответ #29 : 21-11-2008 19:23 » |
|
где s1 s2 s3 s4 s5 состояния s0 начальное состояние
|
|
« Последнее редактирование: 15-12-2008 18:04 от Алексей1153++ »
|
Записан
|
|
|
|
|