numeration systems introduction to binary, octal, and hexadecimal

21
Numeration Systems Introduction to Binary, Octal, and Hexadecimal

Upload: mariah-jacobs

Post on 28-Dec-2015

246 views

Category:

Documents


0 download

TRANSCRIPT

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.html

Let’s Count to 10

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

Numbers are digital: finite, precise and countable.

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 . Tenths Hundredths

103 102 101 100 . 10-1 10-2

How the decimal system works

• Let’s take a number: 2074

• Final Value for each column: Place value times digit value

• Final numerical value: add the column values (2000 + 70 + 4)

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

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 SystemPlace-weighted, like Decimal, but Base 2Bit = binary digitGroup of 8 bits is a byte210 (1024) bytes = 1 Kilobyte (KB)210 KB = 1 Megabyte (MB)

Sixty-Fours

Thirty-Twos

Sixteens Eights Fours Twos Ones

26 25 24 23 22 21 20

Place values are powers of 2 instead of

10

Decision of early computer

makers.

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 AgainWords Counting

LinesRoman 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” torepresent the same numbers

Binary to Decimal conversions

• Multiply each bit by its place value and add

• Example: 1001Binary 1 0 0 1

Place Values 8 4 2 1Column 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

• 1 x 256 + 11 x 16 + 9 = 441

Hex Number

1 B(11) 9

Place Values

162 (256) 161 (16) 160 (1)

Hex Digit Binary ChartHex 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

• Answer: 11110101

F 5

1111 0101

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: 10111010101 1101

5 D

Extra zero added on end

Decimal-To Conversions• 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:

We’d start by noticing that a ‘1’ in the 128s place is too muchTry a ‘1’ in the 64s place to get a total of 64Try a 1 in the 32s place gives us a total of 96That’s >87 so it must be a 0Trying a 1 in the 16s place gives a total of 801 in the 8s place gives 88. It’s too much, so 0

1 in 4s place, 1 in 2s place,1 in 1s place, you get 87

View this slide in a slide show to see the

animation

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 Binary137 ÷ 2 = 68 r168 ÷ 2 = 34 r034 ÷ 2 = 17 r017 ÷ 2 = 8 r18 ÷ 2 = 4 r04 ÷ 2 = 2 r02 ÷ 2 = 1 r01 ÷ 2 = 0 r1

1 0 0 0 1 0 0 1

The LAST remainder you get becomes the FIRST bit of your answer.

Example

• 137Hex137 ÷ 16 = 8 r98 ÷ 16 = 0 r8

8 9

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.