Number Systems
# Number Systems
We typically use the denary number system, where everything is based on 10, but computers work in binary, where everything is base 2.
So denary looks like:
1 -> 10 -> 100 -> 1000
And binary digits represent:
1 -> 2 -> 4 -> 8 -> 16 -> 32 -> 64 -> 128 -> 256
The binary number 10100 is equivalent to denary 20.
And 01111111 is 127
# Conversion Practice
64 -> Binary
=01000000
130 -> Binary
= 10000010
255 -> Binary
= 11111111
196 -> Binary
= 0110000100
# Handling negatives
BCD is a primitive method for handling negatives, but it is unused because it is slow and inefficient in terms of resource utilization.
So instead we use a sign bit, where we make the largest column in the binary pattern an indicator for whether or not the number is positive or negative.
So you would replace the heading:
128 - 64 - 32 - 16 - 8 - 4 - 2 - 1
With:
Sign - 64 - 32 - 16 - 8 - 4 - 2 - 1
This limits the range of numbers that can be stored, but can be applied to larger binary patterns too.
The main method used is Two’s Complement
# Binary Task
# Converting binary to denary
14 -> Bin
64 -> 32 -> 16 -> 8 -> 4 -> 2 -> 1 0 -> 0 -> 0 -> 1 -> 1 -> 1 -> 0
= 0001110
60 -> Bin
64 -> 32 -> 16 -> 8 -> 4 -> 2 -> 1 0 -> 1 -> 1 -> 1 -> 1 -> 0 -> 0
= 0111100
200 -> Bin
128 -> 64 -> 32 -> 16 -> 8 -> 4 -> 2 -> 1 1 -> 1 -> 0 -> 0 -> 1 -> 0 -> 0 -> 0
= 11001000
# Binary Arithmetic
56 + 32 = 88
64 -> 32 -> 16 -> 8 -> 4 -> 2 -> 1 0 -> 1 -> 1 -> 1 -> 0 -> 0 -> 0
56 = 0111000
64 -> 32 -> 16 -> 8 -> 4 -> 2 -> 1 0100000
0111000 0100000
1111000
Advanced numbers and mathematical systems are explained here