roboforum.ru

Технический форум по робототехнике.
Текущее время: 06 апр 2025, 22:33

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Умножение двоичных чисел, младшими разрядами вперед.
СообщениеДобавлено: 12 янв 2012, 22:23 
Не в сети

Зарегистрирован: 12 янв 2012, 22:14
Сообщения: 3
Может кто-то сможет помочь, ибо пытался, а у меня ничего не вышло.
Перемножить надо в доп. коде
Вот есть 2 мантиссы и их порядки
MA = 01.11000111
MB = 10.10111000
PA = 0.0111
PB = 1.0010
Сделал нормализацию и получил:
МА = 00.11100011
МБ = 11.01011100

PA = 0.1000
PB = 1.0001

Пытался перемножить и получил ответ:
11,00101101 0 (в дополнительном коде.) в прямом это 11,110100110 0 = число -422, но значение мантиссы числа А = 227, а значение мантиссы Б = -92, и если перемножить эти два числа, получится -20 884.
Может кто подскажет как правильно все это сделать, очень надо. Буду очень благодарен)
Может кто укажет на ошибки, или просто алгоритм подскажет, ибо возможно я что-то не правильно сделал.

Знаю что Порядки складываем и их более не трогаем, до получения числа, а потом просто приписываем степень к числу.
Используется 2 бита для знакового числа, что бы предотвратить переполнение.

Спасибо всем.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Умножение двоичных чисел, младшими разрядами вперед.
СообщениеДобавлено: 13 янв 2012, 09:55 
Не в сети
Аватара пользователя

Зарегистрирован: 18 апр 2009, 22:18
Сообщения: 10668
http://ru.wikipedia.org/wiki/Алгоритм_Бута
:) оно?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Умножение двоичных чисел, младшими разрядами вперед.
СообщениеДобавлено: 14 янв 2012, 01:52 
Не в сети

Зарегистрирован: 12 янв 2012, 22:14
Сообщения: 3
похоже да, спасибо большое)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Умножение двоичных чисел, младшими разрядами вперед.
СообщениеДобавлено: 15 янв 2012, 16:08 
Не в сети

Зарегистрирован: 12 янв 2012, 22:14
Сообщения: 3
Такой вопрос, вот в вики
A = 0011 0000 0
S = 1101 0000 0
P = 0000 1100 0
откуда взялся Р, это сдвиг А?
Установить значения A и S, а также начальное значение P. Каждое из этих чисел должно иметь длину, равную (x + y + 1).

A: Заполнить наиболее значимые (левые) биты значением m. Заполнить оставшиеся (y + 1) бит нулями.
S: Заполнить наиболее значимые биты значением (−m) в дополнительном коде. Заполнить оставшиеся (y + 1) бит нулями.
P: Заполнить наиболее значимые x бит нулями. Справа от них, заполнить биты значением r. Записать 0 в крайний наименее значимый (правый) бит

Просто, не понял без примера, мб кто-то подскажет например на этих числах.
А = 00.11100011
Б = 11.01011100


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Умножение двоичных чисел, младшими разрядами вперед.
СообщениеДобавлено: 15 янв 2012, 19:13 
Не в сети
Аватара пользователя

Зарегистрирован: 18 апр 2009, 22:18
Сообщения: 10668
столько много букавок :( а все репититоры в отпуске.
п.с. есть поисковые системы
п.п.с. первый раз слышу об этом алгоритме.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO