Can you please help me with the arithmetic of binary numbers in fixed-point format.
I have two sign-magnitude 8-bit numbers, for example, 0_0101010 and 1_0001100, where the most significant bit represents the sign, and there is no integer part, meaning 7 bits are allocated for the fractional part. When multiplied, according to all rules, I get a 16-bit result, with 14 bits in the fractional part and two numbers to the left of the decimal point. How do I interpret these two numbers? Are they two sign bits? But in the case of 1_0000000 * 1_0000000 = 01_0000000_0000000, they are different. By the way, this is the only case when they are different. As I understand it, the sign bit is indeed the last one, i.e., the 16th bit, but how do I interpret the 15th bit?
Or should the 15th bit be considered as the integer part? Or should the case where the two most significant bits are different be considered as an exception, and in reality, the result of multiplying two 8-bit signed numbers yields a 15-bit result, not a 16-bit result?