Numeration Systems

Download Report

Transcript Numeration Systems

Numeration Systems
Introduction to Binary, Octal, and
Hexadecimal
Before There Were Numbers
• Quantities
represented by
metaphors
• Analog
• Easy to Understand
• Comparisons to Real
World
• Imprecise – can’t
really count
http://www.allaboutcircuits.com/vol_4/chpt_1/1.htm
l
Let’s Count to 10
Numbers are digital: finite, precise and countable.
Words
Counting Lines
Roman Numerals
Decimal
Zero
?
?
0
One
|
I
1
Two
||
II
2
Three
|||
III
3
Four
||||
IV
4
Five
|||||
V
5
Six
||||| |
VI
6
Seven
||||| ||
VII
7
Eight
||||| |||
VIII
8
Nine
||||| ||||
IX
9
Ten
||||| |||||
X
10
Why we use numbers
•
•
•
•
Ancient number systems are pretty bad
Decimal System is place-weighted
Tens place, Hundreds place, etc.
Or, if you want to use math notations
Thousands
Hundreds
Tens
Ones
103
102
101
100
.
.
Tenths
Hundredths
10-1
10-2
How the decimal system works
• Let’s take a number: 2074
Digits
2
0
7
4
Place Value
103 (1000)
102 (100)
101 (10)
100 (1)
Column Value
2 x 103
0 x 102
7 x 101
4 x 100
• Final Value for each column: Place value
times digit value
• Final numerical value: add the column
values (2000 + 70 + 4)
About digits
• For decimal, we need ten digits: 0 – 9
• It because it’s a Base 10 system
• each “place” needs 10 possible values
(including 0)
Binary Number System
 Place-weighted, like Decimal, but Base 2
 Bit = binary digit
Decision of early
 Group of 8 bits is a byte
computer makers.
 210 (1024) bytes = 1 Kilobyte (KB)
 210 KB = 1 Megabyte (MB)
SixtyFours
ThirtyTwos
Sixteens
Eights
Fours
Twos
Ones
26
25
24
23
22
21
20
Place values are powers
of 2 instead of 10
Why Binary?
• Modern Computers store information as
bits, and perform all their calculations on
binary numbers.
• Modern computers are basically millions
of tiny switches (called transistors) that
can be on or off (1 or 0)
• They work most efficiently in binary
• Less errors
Let’s Count Again
Words
Counting
Lines
Roman Numerals
Decimal
Binary
Zero
?
?
0
0
One
|
I
1
1
Two
||
II
2
10
Three
|||
III
3
11
Four
||||
IV
4
100
Five
|||||
V
5
101
Six
||||| |
VI
6
110
Seven
||||| ||
VII
7
111
Eight
||||| |||
VIII
8
1000
Nine
||||| ||||
IX
9
1001
Ten
||||| |||||
X
10
1010
Binary
needs more
“places” to
represent
the same
numbers
Binary to Decimal conversions
• Multiply each bit by its place value and add
• Example: 1001
Binary
1 0 0 1
Place Values 8 4 2 1
Column Values 8 0 0 1
8+1=9
Octal and Hexadecimal
•
•
•
•
•
•
Base 8 (Octal) and Base 16 (Hex)
Hex – need 16 digits in one “place”
Hex Digits: 0123456789ABCDEF
1 Hex Digit = 4 bits
It works because 16 is a powers of 2
Hex is most used, since a byte is
represented nicely by 2 Hex Digits
Notes on Notation
Octal numbers use the digits 0-7
Octal numbers are preceded by oct
Hex Digits use CAPITAL LETTERS A-F
If we mix hex and decimal, hex numbers
will have a lower-case ‘h’ after them
• Examples: 29h, A7h, 10h
• Generic math notation uses subscripts:
• 11010112, 7338, AE16
•
•
•
•
Hex  Decimal
• Base 16 place values
• Let’s try 1B9
Hex
Number
1
Place Values 162 (256)
B(11)
9
161 (16)
160 (1)
• 1 x 256 + 11 x 16 + 9 = 441
Hex Digit  Binary Chart
Hex Digit Binary
Hex Digit Binary
0 0000
8 1000
1 0001
9 1001
2 0010
A 1010
3 0011
B 1011
4 0100
C 1100
5 0101
D 1101
6 0110
E 1110
7 0111
F 1111
Notice that one Hex digit can represent
every possible binary number for 4 bits.
(Decimal numbers 0 – 15)
Hex to Binary is easy!
• Convert single hex digit to binary using
the chart or by counting
• String the binary digits in order
• Example: F5
F
5
1111
0101
• Answer: 11110101
Don’t forget that zero!
Binary to Hex is easy!
• Reverse what we did for Hex to Binary
• Divide the Binary number in groups of
four bits from right to left
• Example: 1011101
Extra
zero
added
on end
0101
5
1101
D
Decimal-To Conversions
View this slide in a slide
show to see the animation
• Trial and Fit method:
• Keep finding the highest digit that can “fit”
into the decimal number, then subtract from
the original #
• Prob: Convert 87 into Binary:
Try astart
1 in thenoticing
32s place
gives
usina the
total128s
of 96
We’d
that
ainto
‘1’
place
too much
Try a ‘1’byin
the
Trying
64s
place
a
1
the
get
16s
a
total
place
of
gives
64much,
ais total
1
in
the
8s
place
gives
88.
It’s
too
so 0of 80
That’s >87 so it must be a 0
1 in 4s place, 1 in 2s place,
1 in 1s place, you get 87
Decimal-To Conversions
• Is there an easier way?
• Yes! Division Remainder Method
• Take your number, divide by 2 for binary,
8 for octal, 16 for hex
• The Remainder of the division is a digit in
your answer
• Repeat process using the Quotient, until
the Quotient is zero
• Put the remainders together backwards
for your answer
Examples
• 137  Binary
137 ÷ 2 = 68 r1
68 ÷ 2 = 34 r0
34 ÷ 2 = 17 r0
17 ÷ 2 = 8 r1
8 ÷ 2 = 4 r0
4 ÷ 2 = 2 r0
2 ÷ 2 = 1 r0
1 ÷ 2 = 0 r1
10001001
The LAST remainder you get
becomes the FIRST bit of your
answer.
Example
• 137Hex
137 ÷ 16 = 8 r9
8 ÷ 16 = 0 r8
89
Watch out! Hex numbers can look like decimal
numbers. In this case, 137 decimal is equal to 89
hex. If this idea confuses you, just remember that
the place values are different. In this example,
the ‘8’ from the answer is in the “sixteens” place,
NOT the ‘tens’ place like it would be normally.
Why Hex?
• You’ve seen that the Hex Binary
conversions are very simple.
• Hex is often used as shorthand for binary,
since two hex digits easily represents a
byte.
• Computer Forensics – when you look at
“raw” computer data, it’s usually Hex.
• Hex-editing lets you “hack” and cheat at
video games.