Каков должен быть размер результата при умножении двух 16-битных подписанных данных?

Я столкнулся с вопросом собеседования, связанным со встроенными системами и C / C ++. Возникает вопрос:

Если мы умножим 2 знаковых (дополнение до 2) 16-битных данных, каков должен быть размер результирующих данных?

Я начал попытки с примера умножения двух знаковых 4-битных данных, Итак, если мы умножим +7 и -7 , мы получим -49 , что требует 7 бит. Но я не мог сформулировать общее соотношение.

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

5
задан Mateen Ulhaq 25 September 2011 в 18:54
поделиться