![]() |
|
Модераторы: Poseidon |
![]()
|
|
| Loncaster |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 106 Регистрация: 8.8.2006 Репутация: нет Всего: нет |
Вообщем проболел почти все начало схемотехники...а точнее тему где обсуждалось деление/умножение чисел с плавающей точкой и с фиксированной. Так вот прошу помочь мне решить данную лабу, конечно подозреваю что именно решать врятли кто-то захочет, но тогда хотя бы раскажите алгоритмы этих умножений/делений))
Вообщем Число А = ((17+25)/64)десят. = 0,10101 двоичная , Порядок = 6 Число Б = ((60-17)/64)десят. = 0,101011 двоичная, Порядок = 1 Задание 1 Заданные десятичные числа перевести в двоичную систему(это я уже сделал) и совершить умножение числе с фиксированной точкой. Результаты проверить письменно. Задание 2 Совершить деление вышезаданных чисел с фиксированной точкой. Проверить результаты письменно. Задание 3 Навести пример действий с порядками и посчитать результаты операций умножения и деления с указанными порядками. Вообщем буду благодарен за любую помощь =) --------------------
Ще не вмерла Україна... |
|||
|
||||
| Faiton |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 13.10.2006 Репутация: нет Всего: нет |
юзай асм....там всё легко и просто
|
|||
|
||||
| Loncaster |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 106 Регистрация: 8.8.2006 Репутация: нет Всего: нет |
Да Мне это на бумаге решить нужно, а не напрограммировать =))
--------------------
Ще не вмерла Україна... |
|||
|
||||
| Ripper |
|
|||
![]() Lonely soul... ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 30.6.2004 Где: г. Москва Репутация: 6 Всего: 23 |
Так. Смотрим 1 задание) Как я понял у тебя есть два числа
A=0,10101 B=0,101011 Чтобы их перемножить (умножение с фиксированной запятой(или точкой), где все числа меньше 1) нужно выполнить следующие действия 1)Представить числа в прямых кодах: [X]пк = 0.10101 [Y]пк = 0.101011 (до точки - знак, 0 - плюс, 1 - минус. в данном случае все положительно) 2)Перемножить собственно. Есть 2 способа. С младших и старших разрядов. С младших по мне так легче но я забыл формулу. А со старших - понятнее. Выводить откуда это не хочу (если надо скажи), а вот в чем заключается метод. Сначала нумеруешь цифорки числа Y начиная с цифровой части (т.е. та что после точки). Хотя и не обязательно просто по разному это дело рисуют кто через таблицу кто через ф-лу. Кароче. Рисуешь табличку из 3х столбцов. В первом столбце каждая строка - цифра числа Y начиная слева. Второй столбец каждая строка - сдвинутое число икс на один 0. А третий столбец, в нем строки - результат умножения первого столбца на второй. Кароче чтобы было понятнее вот: __________________________________ 1 (y1)|0.010101 (x * 2^-1)|0.010101 0 (y2)|0.0010101 (x*2^-2)|0 1 (y3)|0.00010101 |0.00010101 0 (y4)|0.000010101 |0 1 (y5)|0.0000010101 |0.00000101 1 (y6)|0.00000010101 |0.00000010101 Результатом умножения будет субба всех элементов третьего столбца. У меня получилось 0.01110000111 Теперь проверяем на калькуляторе, но он у меня не считает числа меньше 0 т.е. дробные. Так что я целыми посчитаю A = 10101 = 21 B = 101011 = 43 21*43=903 903 -> 1110000111 Т.е. ответ сходится (там нолик лишний не играет роли) Я надеюсь я верно все посчитал и объяснил т.к. я сам плавал в этой теме да и щас не лучше Делить не умею. Разве что могу посоветовать www.intuit.ru и там гдееее то должны быть лекции по Организации ЭВМ И арифметическим основам Добавлено @ 14:35 Умножение с порядками. Значит, что там... хм Число с плавающей запятой представляется в виде X = порядок * мантисса Напримере десятичной: 21*10^2 (или 210) нужно умножить на 32 *10^3 (или 3200) Что происходит: 21*10^2*32*10^3 = 21*32*10^5 Т.е. порядки складываются, а мантиссы перемножаются Ты перемножаешь мантиссы как я написал выше (либо способом с младших разрядов - роли не играет) А потом складываешь порядки и сичло записывается в виде, например X = 0,1010 0,1011101 т.е. порядок и мантисса отдельно. Вроде так Ну при делении порядки вычитаются и мантиссы делятся. Так же могут быть исключительные ситуации с машинной бесконечностью и нулем, о которых я не знаю. Сложение и вычитание чисел с плавающей запятой чуть по сложнее, там нужно приводить к одному порядку -------------------- "Он знает: надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума" - Над кукушкиным гнездом |
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |