Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.10.2012, 23:16   #1
oxplk
Новичок
Джуниор
 
Регистрация: 28.10.2012
Сообщений: 3
По умолчанию Дискретная математика

Нужно в двоичном виде поделить 2 числа с разными знаками. Деление с нулевым остатком. Делю целый день. Правильного результата не получила ни разу. Облазила весь интернет. Скоро сойду с ума. Помогите!!!!
Числа А=1375 В=21. (4 случая) Нужен алгоритм действий. В методичке описан настолько плохо, что ничего не понятно.
oxplk вне форума Ответить с цитированием
Старый 29.10.2012, 01:01   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

???
1375 не делится на 21, знаете ли. Кроме того, что такое "делить со знаком" я вообще плохо понимаю (т.е. не знаю такого общепринятого термина и могу додумать больше чем одним способом).

То есть, наверное, лучше бы текст из методички - в нынешнем пересказе задача не имеет смысла.
Abstraction вне форума Ответить с цитированием
Старый 29.10.2012, 01:19   #3
oxplk
Новичок
Джуниор
 
Регистрация: 28.10.2012
Сообщений: 3
По умолчанию

Вот в методичке тоже здорово показали, а алгоритм толком не описали.
Изображения
Тип файла: jpg Деление.jpg (181.6 Кб, 127 просмотров)
Тип файла: jpg Пример деления.jpg (122.0 Кб, 137 просмотров)
oxplk вне форума Ответить с цитированием
Старый 29.10.2012, 11:47   #4
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Какое-то извращённое деление в столбик с использованием дополнительного кода. Бр-р-р. Предлагается, как понимаю:
1) Взять дополнение делителя до степени 2 (в нашем случае, 4096-1375=2721),
2) Представить дополнение делимого (101010100001) и делитель (010101) в двоичном виде,
3) Поэтапно прибавлять к дополнению делимого делитель, сдвигать остаток влево, а в младший разряд писать 1, если старший разряд делителя совпадает со старшим разрядом остатка и 0 в противном случае.
Код:
 101010100001
+      010101
=101010110110 (R1')

 010101101100 (R1' << 1)
+010101
=10101010110|0 (R1; старший разряд не совпадает - пишем в младший 0)

 1010110110|00 (R1 << 1)
+010101
=0000000110|01 (R2; старший разряд совпадает - пишем в младший 1)

 000000110|010
+010101
=010101110|011

 10101110|0110
+010101
=00000010|0111

 0000010|01110
+010101
=0101100|01111

 101100|011110
+010101
=000001|011111

Последний сдвиг, старший знак совпадает, делить больше не получится - в ответе 0111111
4) Взять дополнение результата предыдущей процедуры до степени 2 (10000001). 65 и есть ответ... кажется.
Вообще, процедура включает весёлую игру "угадай число разрядов" - если брать частное шестиразрядным, оно окажется равно 1, и это тоже в каком-то смысле правильный ответ.

Вы что, изучаете, как выполняет деление процессор?
Abstraction вне форума Ответить с цитированием
Старый 29.10.2012, 23:09   #5
oxplk
Новичок
Джуниор
 
Регистрация: 28.10.2012
Сообщений: 3
По умолчанию

Спасибо.
Разрядную сетку не надо было угадывать. В моём решении видно, что делимое - 16 разрядов (2 раза по 8: в старших разрядах остаток, в младших частное), а делитель - 8 разряов. Меня вчера убило, что я получаю остаток, которого реально быть не должно. Спасибо книжке Савельевой. А так бы я и дальше делила до умопомрачения. А так всё сошлось.
Так что и деление +.
У меня тоже сложилось впечатление, что это извращение. Но для компа, наверное норма

Последний раз редактировалось oxplk; 29.10.2012 в 23:14.
oxplk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дискретная математика sover Помощь студентам 6 27.05.2011 10:14
дискретная математика. 13xXx13 Помощь студентам 1 26.03.2011 12:51
Дискретная математика ttjke Фриланс 3 11.10.2010 20:41
Дискретная математика Viteef Фриланс 4 22.06.2010 23:39
Дискретная математика RealSHELS Софт 4 21.10.2008 00:37