Me he enfrentado a una pregunta de la entrevista relacionada con los sistemas integrados y C/C++. La pregunta es:cuando se multiplican dos datos firmados de 16 bits, ¿cuál debería ser el tamaño de la resultante?
Si multiplicamos 2 datos firmados (complemento 2) de 16 bits, ¿cuál debería ser el tamaño de los datos resultantes?
He empezado a intentar con un ejemplo de la multiplicación de dos firmaron 4 bits, por lo que, si multiplicamos +7
y -7
, nos encontramos con -49
, que requiere 7 bits. Pero no pude formular una relación general.
Creo que necesito entender la multiplicación binaria para resolver esta pregunta.
Esta pregunta es independiente del lenguaje, pero es un conocimiento útil para los programadores C y C++. –