Рубрики

ВОРОТА | Gate IT 2005 | Вопрос 8

Используя алгоритм Бута для умножения, множитель -57 будет перекодирован как
(А) 0 -1 0 0 1 0 0 -1
(B) 1 1 0 0 0 1 1 1
(С) 0 -1 0 0 1 0 0 0
(D) 0 1 0 0 -1 0 0 1

Ответ: (А)
Объяснение: Алгоритм Бута: сначала возьмите 2 дополнения к данному числу, если число отрицательное, затем добавьте 0 в младший бит

Then, for each pair from LSB to MSB (add 1 bit at a time):
00 = 0, 01 = +1, 10 = -1, 11 = 0

Следовательно, данное число в подписанном представлении (дополнение 2) -57

= 2's complement of (00111001) = 11000110+1 = 11000111
= append 0 into LSB of (11000111) = 110001110
Now Booth's code (add 1 bit at a time, from LSB to MSB):
= 11, 10, 00, 00, 01, 11, 11, 10 = 0 -1 0 0 1 0 0 -1

Альтернативный способ —
Вы можете рассчитать десятичные значения в данных опциях:
(A) 0 -1 0 0 1 0 0 -1 = 0 * (2 ^ 6) -1 * (2 ^ 6) + 0 * (2 ^ 5) + 0 * (2 ^ 4) + 1 * (2 ^ 3) + 0 * (2 ^ 2) + 0 * (2 ^ 1) -1 * (2 ^ 0) = -2 ^ 6 + 2 ^ 3 — 2 ^ 0 = -64 +8 -1 = -57
(B) 1 1 0 0 0 1 1 1 = 2 ^ 7 + 2 ^ 6 + 2 ^ 2 2 ^ 1 + 2 ^ 0 = 199
(C) 0 -1 0 0 1 0 0 0 = -2 ^ 6 + 2 ^ 3 = -56
(D) 0 1 0 0 -1 0 0 1 = 2 ^ 6 — 2 ^ 3 + 2 ^ 0 = 57

Рекомендуемые посты:

ВОРОТА | Gate IT 2005 | Вопрос 8

0.00 (0%) 0 votes