SQNR when multiplying 2 16 bit signed integers and truncating result?
When you multiply the two 16 bit numbers you get the "true" 32 bit number and then you truncate to get a 16 bit number.  The noise that is introduced when you truncate is a random value from $0$ to $2^{16}-1$ ($65535$), which averages out to $32767.5$ and has an average power (average of the square) of $1.43E9$.  If you were rounding instead of truncating it would be a random value from $-(2^{15})$ to $2^{15}-1$, which averages out to approximately $0$ (no bias), and has an average power of $3.58E8$.  That's why it's better to round than truncate, but that's a story for another day.

The truncation noise, therefore, is $1.43E9$.  You get the signal power by multiplying your truncated data by $2^{16}$ (to make the 16 bit values into 32 bit values), squaring them, and then calculating the mean.  You then calculate the SQNR by dividing the signal power by the truncation noise, $1.43E9$.