Suppose I have the 2's complement, negative number 1111 1111 1011 0101 (0xFFBB5). How can I represent this as a decimal number in base 10?
|
|
If $x$ is an $n$ digit number written in two's complement, then $\tilde{} x +1 = -x$, where $\tilde{} x$ is the $n$-digit not of $x$. In your case, |
|||
|
|
|
Here is the process to convert a negative two's complement number back to decimal: (1) flip all the bits, (2) add 1, and (3) interpret the result as a binary representation of the magnitude and add a negative sign So, for your example, we have: $$1111~1111~1011~0101 \xrightarrow{(1)} 0000~0000~0100~1010 \xrightarrow{(2)} 0000~0000~0100~1011 \xrightarrow{(3)} -75$$ It looks like you wrote the wrong binary and meant: $$1111~1111~1011~1011~0101 \xrightarrow{(1)} 0000~0000~0100~0100~1010 \xrightarrow{(2)} 0000~0000~0100~0100~1011 \xrightarrow{(3)} -1099$$ Of course, in Hex, you can invert all the bits and add 1 and take a negative magnitude. Regards |
||||
|