Search
Recommended Sites
Related Links






   

Informative Articles

Computer Viruses are Bad Luck
OK, so you caught a computer virus and your system is all screwed up and you're frustrated and angry and upset. Bad luck. Here's something that might make you feel better ... The universe has true balance. And if a computer virus causes bad...

The computer of the future will be your mobile phone.
These days, many devices are "converging". There is nothing new about it. Everyone will tell you that in a few years time, you will be able to buy a mobile phone that is also an FM radio, digital camera, PDA, MP3 player, universal remote...

Keep Your Computer Cool
If the computer after several hours' use suddenly rebooted and does not show any sign of system failure, there could only be one thing. The computer is overheating. Unknown to many, (especially those who are not into technological stuff)...

5 Desktop Computer Hardware Myths Exposed
The big boys in the computer industry want you to continue thinking the way you are. The major desktop computer manufacturers thrive on consumers lack of knowledge and old ideas about desktop computers and computer hardware to drive sales of new...

10 Simple Ways to Lower Your Small Business Computer Support Bills This Summer
Article Title: 10 Simple Ways to Lower Your Small Business Computer Support Bills This Summer Author: Joshua Feinberg Contact/Author: mailto:customersvc@smallbiztechtalk.com Joshua Feinberg Web Site Address: http://www.smallbiztechtalk.com...

 
History Of The Computer - Negative Numbers For Subtraction

Now we know about adding and multiplying, and have touched on dividing (see History of the Computer - Flip-Flops a basic counter) what about subtracting and negative numbers? Once again we take the simple way.

To form a negative number, we simply invert the positive number, in binary, and add 1. For example

0000 0110 - (6) inverted becomes
1111 1001 - now add 1 to get
1111 1010 - (-6)

This is how a computer records -6. The Most Significant Bit - in this case bit 7 or bit value 128 decimal is used as the Sign Bit. If this bit is a zero, the number is positive, if it is a one, the number is negative. This notation is known as 'Twos Complement'.

(There is also 'Ones Complement', without the added 1, which was used in some proprietary systems, but it required more complicated logic to get around problems like having + and - zero. It is not necessary to go into the detail of this notation for an understanding of the logic.)

The Sign bit uses one of the bit positions, meaning that our range of numbers is reduced. For example 0111 1111 is the highest positive 8-bit number (127 decimal). The next number, 128 decimal would be 1000 0000, however the bit value 128 in bit 7 cannot be used as it is now the sign bit.

SUBTRACTION

Now we can have a negative number it will be easy to subtract. We can use an adder, which we already have. This is possible because 9-3 is the same as 9+(-3). For instance 9-3 decimal is 00001001-00000011 in 8 bit binary. We take the 9 and add it to the twos complement of 3, thus we can use our adder with a bit of extra logic to invert the negative number and add 1 to it. The twos complement of 3 (decimal) or in binary

of 0000 0011
is 1111 1100
add 1 + 0001
is 1111 1101

Now add to the 9 (decimal) using an 8 bit adder:-
7654 3210 - bit #
0000 1001 - (9)
1111 1101 - (-3)

Remember your binary addition?

Least significant bit (bit 0), 1+1 is 0 and a carry.
Next bit (bit 1) is 0+0+carry = 1 no carry.
Next bit (bit 2) is 1+0 = 1 no carry.
Next bit (bit 3) is 1+1 = 0 and a carry.
Next bit (bit 4) is 1+0+carry = 0 and a carry.
Next 3 bits (5,6,7) are the same as 4 - 1+0+carry = 0. The last carry falls off the end.*

So we get:-

0000 0110 (6 Decimal - 9-3=6)

Which, fortunately, if you followed it, is the right answer! Are these computers smart or what? This system works with negative results as well, for instance try 3-9. You should end up with the
twos complement of 6. This is not a compulsory exercise!

* The carry from the most significant bit, in this example bit 7, but could be bit 31 or 63 in some computers, is ignored in this case. However it is used in some functions, for instance a circular bit shift, which we will look at in a later article.



About the Author:

Tony is an experienced computer engineer. He is currently webmaster and contributor to http://www.what-why-wisdom.com . A set of diagrams accompanying these articles may be seen at http://www.what-why-wisdom.com/history-of-the-computer-0.html . RSS feed also available - use http://www.what-why-wisdom.com/Educational.xml .

Source: www.isnare.com