User Tag List

Страница 89 из 113 ПерваяПервая ... 858687888990919293 ... ПоследняяПоследняя
Показано с 881 по 890 из 1128

Тема: ЭТЮДЫ

  1. #881

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,393
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Denn Посмотреть сообщение
    это уже как бы другой код
    Для 8-битного варианта (делимого) всего лишь меняем LXI B,100Ah на LXI B,080Ah. H/C=L

    - - - Добавлено - - -

    Кстати о разрядности. Если фиксировать делитель =10dec, то максимальное число разрядов делимого в этой процедуре (только надо убрать XRA A) м.б. 19, а не 16 - 7FFFF (A=7;HL=FFFF).

    - - - Добавлено - - -

    Цитата Сообщение от ivagor Посмотреть сообщение
    Для 8-битного варианта (делимого)
    При делении на 10dec этот вариант допускает (при убирании XRA A) делимое до 11 разрядов - 7F (A=7;H=F)

  2. #882

    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,234
    Спасибо Благодарностей отдано 
    490
    Спасибо Благодарностей получено 
    989
    Поблагодарили
    641 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Так работает деление в столбик.
    Каким образом можно с помощью 16 (шест-над-ца-ти) действий разделить 10 на 10 в столбик?

    - - - Добавлено - - -

    Пытаюсь зайти с т.з. математики. По сути алгоритм делает следующее: умножает делимое на 2 и делит (получается как бы автоматом) на 65536, результаты этих действий накапливаются в аккумуляторе и при превышении значения равного делителю, последний вычитается из накопителя и в этот момент "зажигается" разряд частного, который потом будет умножен на 2 оставшееся число раз... это реально придумал марсианин!

    В итоге математически имеем следующее: Х/32768+Х/16384+Х/8192+...+Х/2+Х/1

    Но как в эту формулу ввести условное вычитание делимого при первышении с помощью средств математики?..
    Последний раз редактировалось Denn; 24.01.2020 в 16:41.
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  3. #883

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,393
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Denn Посмотреть сообщение
    Каким образом можно с помощью 16 (шест-над-ца-ти) действий разделить 10 на 10 в столбик?

    Скрытый текст

    Код:
    Исходные данные
    Делимое	=0000 0000 0000 0000 1010
    Делитель=1010
    
    1. Делимое	=0000 0000 0000 0001 0100
       Делитель	=1010
       Частное	=0
    
    2. Делимое	=0000 0000 0000 0010 1000
       Делитель	=1010
       Частное	=00
    
    3-14. ...
    
    15.Делимое	=0101 0000 0000 0000 0000
       Делитель	=1010
       Частное	=000 0000 0000 0000
    
    16.Делимое	=1010 0000 0000 0000 0000
       Делитель	=1010
       Частное	=0000 0000 0000 0001
    [свернуть]


    - - - Добавлено - - -

    Все правые нули, которые я добавлял к делимому, можно или убрать или заменить на X или какой-нибудь другой нецифровой символ

  4. #884

    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,234
    Спасибо Благодарностей отдано 
    490
    Спасибо Благодарностей получено 
    989
    Поблагодарили
    641 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    Arrow в столбик за 16 ходов

    Цитата Сообщение от ivagor Посмотреть сообщение
    Все правые нули, которые я добавлял к делимому, можно или убрать или заменить на X или какой-нибудь другой нецифровой символ
    К сожалению, данная информация мне не даёт ключ к пониманию принципа работы алгоритма.


    - - - Добавлено - - -

    ivagor, у меня только за один ход получается:
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	~0.jpg 
Просмотров:	176 
Размер:	2.5 Кб 
ID:	71350  
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  5. #885

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,393
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Denn Посмотреть сообщение
    за один ход получается
    Есть варианты процедур деления, которые пропускают незначащие (нулевые) старшие цифры делимого (как человек), но в обсуждаемой процедуре этого нет.
    Последний раз редактировалось ivagor; 24.01.2020 в 17:15. Причина: исправил себя - "делимого"

  6. #886

    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,234
    Спасибо Благодарностей отдано 
    490
    Спасибо Благодарностей получено 
    989
    Поблагодарили
    641 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    Arrow столбик

    ivagor, я по-прежнему не вижу аналогии с алгоритмом классического деления столбиком, в котором - в первую очередь - кол-во итераций зависит от значений делимого и делителя. Добавление незначащих нулей не меняет картину.
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  7. #886
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #887

    Регистрация
    14.04.2013
    Адрес
    г. Ростов-на-Дону
    Сообщений
    608
    Спасибо Благодарностей отдано 
    70
    Спасибо Благодарностей получено 
    54
    Поблагодарили
    48 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Denn, давай разделим 00115 на 7 в десятичной системе.

    1. Сдвигаем 00115 влево на одну позицию, 0|0115?. 0 меньше 7, поэтому ?=0, итого 0|01150
    2. Сдвигаем, 00|1150?. 00 меньше 7, поэтому опять 0. 00|11500.
    3. 001|1500?, 1 меньше 7, 001|15000.
    4. 0011|5000?, 11 больше 7, вычитаем, остаётся 4|50001.
    5. 45|0001?, 45 больше 7, вычитаем 6 раз, остаётся 3|00016.

    5 разрядов, 5 шагов. Остаток в аккумуляторе, частное там, где было делимое.

    Деление в столбик. Выдвинули разряд, сравнили, записали цифру в частное. Только частное приписываем справа к делимому, чтобы регистры не занимать.

    В коде то же самое, но в двоичной системе.

  9. #888

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,393
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Denn Посмотреть сообщение
    алгоритмом классического деления столбиком, в котором - в первую очередь - кол-во итераций зависит от значений делимого и делителя
    Потому что в школе не дают делимых со старшими незначащими нулями. Детям не ставят задачу как процедуре: "деление 4х разрядного числа на 2х разрядное". Им дают числа и школьники не задумываясь выравнивают старшие значащие цифры делимого и делителя - для процедуры это тоже итерации!
    Последний раз редактировалось ivagor; 24.01.2020 в 17:39. Причина: опять поправил "делимых"

  10. #889

    Регистрация
    14.04.2013
    Адрес
    г. Ростов-на-Дону
    Сообщений
    608
    Спасибо Благодарностей отдано 
    70
    Спасибо Благодарностей получено 
    54
    Поблагодарили
    48 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Denn, не надо понимать это "математически". Допиши при делении в столбик к делимому незначащие нули до N разрядов, сделай N итераций, получишь N разрядов частного с незначащими нулями.

    Только частное приписывается справа к делимому, потому что там место освобождается, и двигается вместе с ним.

  11. #890

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,393
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Bolt Посмотреть сообщение
    не надо понимать это "математически"
    Почему? Это чистая математика, только не как Denn расписал.

Страница 89 из 113 ПерваяПервая ... 858687888990919293 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Этюды: как бы написать поизящнее.
    от AndTorp в разделе Программирование
    Ответов: 5
    Последнее: 17.03.2008, 00:43
  2. Ответов: 0
    Последнее: 18.08.2006, 22:40
  3. Этюды: печать шрифтом 5x5...
    от breeze в разделе Программирование
    Ответов: 12
    Последнее: 27.03.2005, 05:21

Метки этой темы

Ваши права

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