Difference between revisions of "Binary arithmetic"
Jump to navigation
Jump to search
(First draft. Written under the assumption that readers are not familiar with binary arithmetic yet, so heavy on examples.) |
(No difference)
|
Latest revision as of 13:32, 18 February 2023
As the name digital implies, digital computers work on on bits with a value of either 0 or 1. Accordingly, all operations, including arithmetic, operate on 0 or 1 values.
Numbers that consists only of 0 or 1s are called binary or base2 numbers. Binary numbers are often suffixed with a subscript 2, for example 10110112.
Converting between decimal and binary
Decimal as a sum of powers of 10
Any decimal number can be written as a sum of power of 10s. For example:
- 42 = 4*101 + 4*100
- 57005 = 5*104 + 7*103 + 0*102 + 0*101 + 5*100
- 48.879 = 4*101 + 8*100 + 8*10-1 + 7*10-2 + 9*10-3
Binary numbers can be written in the same way though with powers of 2 instead of 10.
Converting from binary to decimal
- 10102 = 1*23 + 0*22 + 1*21 + 0*20 = 8 + 2 = 10
- 100.012 = 22 + 2-2 = 4 + 1/4 = 4.25
Converting from decimal to binary
- Divide the decimal number by 2.
- Append the remainder to the left of the binary number.
- Repeat with quotient as dividend until it is 0.
For example:
- 29 = 111012
- 29 / 2 = 14, remainder 1
- 14 / 2 = 7, remainder 0
- 7 / 2 = 3, remainder 1
- 3 / 2 = 1, remainder 1
- 1 / 2 = 0, remainder 1
The same technique can be used for rational numbers.
- First multiply by some power of 2 to convert it to an integer.
- Apply above procedure.
- Divide by the same power of 2 to get the correct result.
Mathematical operations
The same techniques used for addition, multiplication ... used for decimal numbers can also be used for binary numbers.
Addition & subtraction
22 101102 + 19 + 100112 ---- -------- 41 1010012
Multiplication
12 11002 * 5 * 1012 ---- ------- 10 11002 + 50 02 ---- + 1100002 60 --------- 1111002
Division
372 | 5 101110100 | 1012 - 35 +---- - 101 +--------- ---- | 74 ----- | 10010102 22 | 01 | - 20 | - 0 | ---- | ----- | 2 | 11 | - 0 | ----- | 110 | - 101 | ----- | 11 | - 0 | ----- | 110 | - 101 | ----- | 10 | - 0 | ----- | 10 |