title: when two 16-bit signed data are multiplied, what should be the size of resultant?
body: <p>I have faced an interview question related to embedded systems and C/C++. The question is:</p>
  
  <blockquote>
    <p>If we multiply 2 signed (2's complement) 16-bit data, what should be the size of resultant data?</p>
  </blockquote>
  
  <p>I've started attempting it with an example of multiplying two signed 4-bit, so, if we multiply <code>+7</code> and <code>-7</code>, we end up with <code>-49</code>, which requires 7 bits. But, I could not formulate a general relation. </p>
  
  <p>I think I need to understand binary multiply deeply to solve this question.</p>