Binary Addition
Binary addition follows the same method as Long Addition; where the two subject numbers are placed top & bottom & each column of units, tens & hundreds (so on...) are added manually. For Binary addition we must know these facts:
1+1 = 10
1+0 = 0+1 = 1
0+0 = 0
1+1+1 = 11
Knowing this we can perform any binary addition. Example: 00101 + 00111 = 01100
(1) (1) (1) ~ Carry
0 0 1 0 1
0 0 1 1 1+
-------------------
0 1 1 0 0
Binary Subtraction
If you can Add Binary, then you can also Subtract them! The architecture of an ALU (Arithmetic Logic Unit) is designed such that binary numbers can only be added, so to subtract, we add the negative number to the positive number, i.e.: we wish to Subtract 1101 with 1011. To do this, we must first make the number we are subtracting negative & then add them, following the steps:
Take One's Complement of 1011 by inverting the 1's & 0's: 1011 => 0100
Take Two's Complement of 0100 by Adding '1' to 0100: 0100+1 = 0101
Add 1101 with 0101 just as normal:
1 0 1 1
0 1 0 1 +
1 0 0 0 0
At the end of the calucluation, because an addition calculation has been performed, there is going to be a leading one. Delete the leading 1 for the answer. Here is a short presentaiton explaining binary subtarction via 2s Compliment:
Binary Multiplication
Once again, this operates on the same method of long multiplication for decimal numbers. However like Binary addition, there are these rules to consider:
1 x 1 = 1
1 x 0 = 0 x 1 = 0
0 x 0 =0
10 x 1 = 10
Now let us solve this example: 1001x101
follow the exact same steps of decimal multiplication to achieve the result: 101101.
To refresh your memory, here is the addition and multiplication presentation for your viewing pleasure:
Binary Division
In decimal long division, you subtract multiples of the divisor from the value being divided. The image to the right is a reminder of those happy days!
In binary division, the same process is followed, but this time the subtraction step is a binary subtraction, so we add the negative and discard the leading 1.
(Side note: while most people will never think of binary division again, it is very important in computing. Almost all error checking in modern computer systems is based on CRC - Cyclic Redundancy Checks, which is a process that involves a lot of binary division. The divisor is a huge number, meaning there will be a lot of remainders.
tl:dr - Binary division is important!)
This is a complex task, involving a lot of subtracting and shifting - thankfully the two things a CPU is good at. This presentation has a detailed look at binary division: