Главная страница
Навигация по странице:

  • Правило. Добуток доповняльних кодів співмножників дорівнює допо-вняльному коду результату тільки при позитивному множнику В>0.

  • Якщо множник негативний, то добуток чисел на суматорі доповняльного коду дорівнює додатку виправлення +

  • це повністю інвертоване , включаючи і знак з додаванням

  • Щербаков а. Н., Проскурін м. П., Грушко с. С. Прикладна теорія цифрових автоматів


    Скачать 2.54 Mb.
    НазваниеЩербаков а. Н., Проскурін м. П., Грушко с. С. Прикладна теорія цифрових автоматів
    АнкорUkr1_PTTsA_kl_ch1_10-02-2010.doc
    Дата13.02.2018
    Размер2.54 Mb.
    Формат файлаdoc
    Имя файлаUkr1_PTTsA_kl_ch1_10-02-2010.doc
    ТипПротокол
    #15521
    страница19 из 26
    1   ...   15   16   17   18   19   20   21   22   ...   26

    12 МНОЖЕННЯ ЧИСЕЛ НА ДСДК



    З одного боку, якщо числа зберігаються в ЦА в доповняльних кодах, то і операцію множення зручно робити на ДСДК. З іншого боку, при множенні на ДСДК виникають проблеми, усунути які можна з огляду на певні правила.

    12.1 Множення чисел на ДСДК при позитивному множнику


    При позитивному множнику для ДСДК діє наступне правило.

    Правило. Добуток доповняльних кодів співмножників дорівнює допо-вняльному коду результату тільки при позитивному множнику В>0.

    Дійсно: нехай А  будь-яке число, тоді А = Адоп і якщо В>0, тоді маємо:

    АВ=Адоп0,b1b2...bnАдопb12-1+Адопb22-2+...+Адопbn2-n.

    На основі раніше розглянутої теореми про додавання доповняльних кодів, робимо висновок, що результат множення представлений у доповняльному модифікованому коді.

    Можна сформулювати алгоритм множення чисел на ДСДК.

    Якщо множник більше "0", то множення на суматорі доповняльного модифікованого коду полягає в наступному. Аналізується розряд множника, починаючи з молодшого. При ві= 1, до вмісту суматора додається множене. При ві = 0, до вмісту суматора нічого не додається. Після кожного аналізу і додавання виробляється модифіковане зсув суматора і множника вправо на один розряд.

    Приклад. Помножити числа А=0\10101 (21), В=0\10011 (+19).

    Метод 2. ДСДК. Запишемо числа Амдоп =11\01011; Вмдоп=00\10011. Суматор має 7 розрядів, РгВ 5 розрядів. Рішення наведено в таблиці 12.1.

    Результат отриманий у доповняльному коді зі знаком мінус (11). Після перетворення його в прямий код(Cпр=11/0110001111) знак збері-гається Для зменшення апаратних засобів, результат зберігається в суматорі і РгВ (при зсувах молодші розряди суматора надходять у старші розряди РгВ).
    Таблиця 12.1  Множення чисел на ДСДК (метод 2, В >0)



    12.2 Множення чисел на ДСДК при негативному множнику


    Другий випадок, коли А  будь-яке число, а множник В<0., де означає +1

    На основі |А|+[Адоп] = q, де |A|  абсолютне значення числа А. Доповняльний код є математичним доповненням до числа основи системи числення 1. Тому (для двійкового коду) можна записати, що –В=Вм = Вдоп2 (тому що – (В+[Вдоп])= 2). Тоді, АВ=А (Вдоп2).

    Отже, добуток чисел . (З урахуванням того, що число В негативне і значущі цифри його доповняльного коду мають значення |[Вдоп]|=1|В|).

    Таким чином, при негативному множнику добуток доповняльних кодів операндів не дорівнює доповняльному коду результату. Якщо (А) замінити на , то можна ввести правило.

    Таблиця 12.2  Множення чисел на ДСДК при В<0



    ПРАВИЛО. Якщо множник негативний, то добуток чисел на суматорі доповняльного коду дорівнює додатку виправлення +1 до добутку доповняльних кодів співмножників. При цьому, виправлення це повністю інвертоване , включаючи і знак з додаванням 1 до молодшого розряду.

    Приклад. Помножити числа А=10111 (23) і В=11001 (25) на ДСДК (метод 2).

    Підготовчі роботи. Запишемо: Амдоп =11\01001; Вмдоп =11\00111; (А)==00\10111.

    Рішення наведено в таблиці 12.2. С = 00\1000111111 (+575).

    Перевірка: (23)(25)=+575

    Таким чином, при множенні чисел на ДСДК одержуємо одночасно знакову і цифрову частини добутку С=АВ.
    1   ...   15   16   17   18   19   20   21   22   ...   26


    написать администратору сайта