Forums: » Register « |  Free Tools |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support |

New Free Tools on Dev Shed!

#1
August 24th, 2000, 12:49 PM
 tedalger
Junior Member

Join Date: Aug 2000
Location: edmonton alberta
Posts: 1
Time spent in forums: < 1 sec
Reputation Power: 0
why is the complement of 6 = 11111010?
i understand how to get the figure, but not why i get that figure
***this is straight from my text, so it is right URL

#2
August 31st, 2000, 04:42 AM
 christucker2
Contributing User

Join Date: Aug 2000
Posts: 81
Time spent in forums: < 1 sec
Reputation Power: 14
How two's complement works:
Take positive number as binary value
Subtract 1 from it
Flip the bits

Thus, 6 goes:
6: 00000110
6-1: 00000101
flip: 11111010

The reasons for this are pretty arbitrary -- two's complement is an entirely artificial system for representing a negative number that's just used because it has some useful properties, namely:
1) You get as many negative as positive numbers
2) It's simple
3) Every positive number has a negative equivalent in the same number of bits (a stricter version of (1), really).

There are probably several other reasons for it that I haven't thought off of the top of my head.

Just out of interest, why do you need to know about two's complement for 'Beginner' web work? :-)

 Viewing: Dev Shed Forums > Other > Beginner Programming > binary numbers (two's complement)