2 доповненням Помножити з постійними

D

davyzhu

Guest
Привіт всім,

Я маю 2 доповненням цифра варіюється від negtive на позитивний.Як і помножте його на постійний?

Тепер, я повернути 2 доповненням до підписали-значний формат і зробити shift-addition/multiplication.

І є велика проблема збентежили мене довгий час:
Чи є методи мають свої переваги від підписали цифри (легко помножити) і 2 з доповненням (легко додати)?

Будь-які пропозиції будуть оцінені!
З повагою,
Деві

 
Ви повинні використовувати алгоритму стенду або зміни алгоритму Бута.Дивіться наступні посилання:
1) http://jingwei.eng.hmc.edu/ ~ rwang/e85/lectures/arithmetic_html/node10.html
2) userpages.umbc.edu / ~ padmanab / fall03/cmpe415/BoothAlgo.pdf

RGDS
KH

 
Ви повинні розуміти, що ви повинні використовувати належний тип даних для результат множення з тим щоб воно може поміститися там:

наприклад, потрібно помножити число, які укладаються в "підписали Чар" типу (тобто в 1 байт в діапазоні від <128 до 127>), то максимальний результат 16256 (абсолютне значення), яке може поміститися в "підписали Int типу" (2 байти з діапазоном <-32768 до 32767>)
Код:Int підписали multiplier_1 / / його значення обмежено <-128; 127>!

Int підписали multiplier_2 / / його значення обмежено <-128; 127>!

Int підписали multiplication_result;multiplication_result = multiplier_1 * multiplier_2 / / Це дасть правильні результати

/ / Для мультиплікаторів розмноження яких

/ / Не буде перевищувати <-32768 до 32767>

 

Welcome to EDABoard.com

Sponsor

Back
Top