Question

So i was told that two's complement is usually to used to find complement of a number and I used it only to complement positive numbers (i.e positve --> negative conversion) however I just got an example in book which asks me the following :

Express 23, -23, and -9 in 8-bit binary two’s Complement form

now what does that mean? 23 means -23 in binary and -23 means 23 ?

sorta confused over there

Was it helpful?

Solution

2's complement is used to represent negative numbers, which in turn, can be used to do subtraction.

23 = 00010111b

To get -23 (2's complement of 23), flip all the bits, and add 1:

 11101000b + 1
=11101001b (-23)

-9 is the 2's complement of 9. 9 is

00001001b

So -9 is

11110111b (Flipping and add +1)

See also here

OTHER TIPS

The representation of positive numbers in 2's complement is same as the unsigned representation. Things start to change when negative representation comes into play. So, in general, for given w bits, the numbers that can be represented in 2's complement are -2^(w-1)-1 to 2^(w-1) with the w bit being the signed bit. So since you have 8 bits you can represent numbers from -128 to 127. The 8th bit will be the signed bit, with 0 being positive and 1 representing negative. For any positive representation of a number in binary 2's complement N the negative counterpart -N is pretty simple to find, just invert the bits, and add one. Example: 7 in 2's complement is 0111, inverting these bits gives: 1000, adding one gives 1001, which is -7 in 2's complement! Hope this helps!

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top