210 / 204 / 52
Регистрация: 25.07.2010
Сообщений: 1,162
|
||||||
1 | ||||||
Найти остаток от деления двух без знаковых чисел, не используя команды mul, div16.12.2012, 12:57. Показов 5046. Ответов 7
Метки нет (Все метки)
привет, нужно найти остаток от деления двух без знаковых чисел, не используя команды mul, div.
Можно использовать ANL (AND), сдвиг влево-вправо - если понадобится. Написал только с div....
0
|
16.12.2012, 12:57 | |
Ответы с готовыми решениями:
7
Умножение двух без знаковых чисел, не используя команду mul Вывести на экран частное и остаток от деления двух чисел. Без использования команды DIV команды умножения и деления со знаком и без знака mul,imul,div,idiv Составить программу, которая вычисляет частное и остаток от деления чисел x и y без использования операций div и mod |
Ушел с форума
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
|
|
16.12.2012, 13:29 | 2 |
borovik, обычно, если хотят не использовать деление, то используют умножение на "магическое число", но так как умножение запрещено, то остаток от деления X на Y можно получить многократным вычитанием из Х числа Y пока разница не станет отрицательной или нулевой, если разница равна нулю, то деление проходит без остатка, если разница стала отрицательной, то нужно к разнице добавить Y -- это и будет остаток
если деление числа идет на число являющееся степенью двойки (), то остаток от такого деления равен X AND (N-1)
1
|
210 / 204 / 52
Регистрация: 25.07.2010
Сообщений: 1,162
|
|
16.12.2012, 13:57 [ТС] | 3 |
ага, в алгоритме разобрался.
тут (в процессоре) оказывается ещё и вычитания нету, как реализовать вычитание? (гугл говорит чтото про дополнительные коды, обратные) куда копать?
0
|
Ушел с форума
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
|
|
16.12.2012, 14:02 | 4 |
borovik,
а что за процессор такой? если есть сложение и инверсия (NOT) тогда -X= NOT(Х) + 1 или X-Y=NOT(Y+NOT(X))
0
|
210 / 204 / 52
Регистрация: 25.07.2010
Сообщений: 1,162
|
|
16.12.2012, 14:28 [ТС] | 5 |
intel 8048
Инверсию нашел вроде, сложение есть. Код
CPL A |37|--|G|1|Complement accumulator Код
100 4 100=011+1=100 4 +10 2 +10 2 --- - --- 110 6 110 6
0
|
Ушел с форума
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
|
|
16.12.2012, 15:00 | 6 |
очень даже получается 4 - 2 = 2
Код
100 4 100 4 +010 2 +101 +not(2) --- - +001 +1 110 6 --- - (1)010 2
1
|
13 / 13 / 1
Регистрация: 16.12.2010
Сообщений: 265
|
|
06.05.2014, 19:13 | 7 |
0
|
Ушел с форума
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
|
|
07.05.2014, 03:44 | 8 |
Mars30,
читай в https://www.cyberforum.ru/asse... 05284.html "Глава 10. АРИФМЕТИЧЕСКИЕ КОМАНДЫ" "Команды деления" "Недокументированные способы деления" "Деление через умножение"
1
|
07.05.2014, 03:44 | |
07.05.2014, 03:44 | |
Помогаю со студенческими работами здесь
8
Написать программу, которая используя функции mod (остаток от деления) и div (целая часть от деления) Найти остаток от деления двух натуральных чисел Найти остаток от деления двух действительных чисел Найти остаток от деления двух действительных чисел Для двух целых чисел найти остаток и частное от целочисленного деления, частное от вещественного деления Найти частное и остаток от деления нацело без операции деления Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |