eet 250 number systems. introduction to number systems while we live in a world where the decimal...

32
EET 250 Number systems

Upload: felix-wells

Post on 04-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: EET 250 Number systems. Introduction to Number Systems While we live in a world where the decimal number is predominant in our lives, computers and digital

EET 250

Number systems

Page 2: EET 250 Number systems. Introduction to Number Systems While we live in a world where the decimal number is predominant in our lives, computers and digital

Introduction to Number Systems

• While we live in a world where the decimal number is predominant in our lives, computers and digital systems work in another number system – Binary.

• This section will discuss various number systems you will commonly encounter when working with microcontrollers.

Page 3: EET 250 Number systems. Introduction to Number Systems While we live in a world where the decimal number is predominant in our lives, computers and digital

Decimal

• It helps to first take a fresh look at a number system we are familiar with. Decimal.

• Decimal is a Base-10 number system (Deci meaning 10). We use Base-10 because that is the number of units on the first counting device used…. Fingers!

• In a Base-10 number system there are 10 unique symbols – 0 through 9.

Page 4: EET 250 Number systems. Introduction to Number Systems While we live in a world where the decimal number is predominant in our lives, computers and digital

• Any position in a value can only contain one of these symbols, such as 1354. There are 4 places, each with one digit.

• Each place to the left of the decimal point signifies a higher power of 10.

100101102103

= 1= 10= 100= 1000

Page 5: EET 250 Number systems. Introduction to Number Systems While we live in a world where the decimal number is predominant in our lives, computers and digital

4x 1

4

5x10

50

3x100

300

1x1000

1000

• A number, such as 1354, is each place value multiplied weight of that position.

Thus 1354 is 1000 + 300 + 50 + 4.

Page 6: EET 250 Number systems. Introduction to Number Systems While we live in a world where the decimal number is predominant in our lives, computers and digital

Binary

• In digital systems, there only only states such as ON/OFF, TRUE/FALSE, HIGH/LOW, or any manner of other terms used… including only the digits of 0 and 1.

• Having only 2 states or unique values creates a binary number system. In binary, we count and work with values in the same manner as decimal.

Page 7: EET 250 Number systems. Introduction to Number Systems While we live in a world where the decimal number is predominant in our lives, computers and digital

• Just as in decimal, each place is a higher power, but not of 10, but 2 since binary is a 2-based system.

20212223

= 1= 2= 4= 8

Page 8: EET 250 Number systems. Introduction to Number Systems While we live in a world where the decimal number is predominant in our lives, computers and digital

• By taking the value,1001, and multiplying each digit by the weight of the position, we can convert a binary value to decimal.

1x 1

1

0x2

0

0x4

0

1x8

8

Thus 1001 in binary is8 + 0 + 0 + 1 = 9 Decimal

Binary to Decimal

Page 9: EET 250 Number systems. Introduction to Number Systems While we live in a world where the decimal number is predominant in our lives, computers and digital

• Common ways to denote binary are:10012

1001b0b1001

• Decimal is typically not specially notated, but may be written as: 100110.

Page 10: EET 250 Number systems. Introduction to Number Systems While we live in a world where the decimal number is predominant in our lives, computers and digital

Bit Groupings• Often Bits (Binary Digits) are grouped to form specially

sized combinations.

Nibble – 4 Bits

Byte – 8 Bits

Word – 16 Bits

• Word is actually used to refer to a pre-defined number of bits of any size (16-bit word, 24-Bit word, 32-Bit word, etc).

Page 11: EET 250 Number systems. Introduction to Number Systems While we live in a world where the decimal number is predominant in our lives, computers and digital

• In a nibble with 4-bits, the range of values is0000 (Decimal 0) to1111 (Decimal 15: 8+4+2+1).Note there are 16 values: 0 to 15.

• In a byte with 8-bits, the range of values is00000000 (Decimal 0) to 11111111 (Decimal 255: 128+64+32+16+8+4+2+1)Note there are 256 values: 0 to 255.

• An equation to find the maximum count for any number of bits is: 2n-1 where n = number of bits. 28-1=255.

Page 12: EET 250 Number systems. Introduction to Number Systems While we live in a world where the decimal number is predominant in our lives, computers and digital

Hexadecimal

• Digital systems work in binary because of their nature of having only 2 states, but as humans we have a difficulty dealing with numbers such as 01111101. It is long and difficult to read.

• Hexadecimal is good middle between decimal and binary. It allows for easier use, 7C, and relates directly to binary.

• Hexadecimal is a base-16 number system. It is denoted by 7Ch, 0x7C or 7C16.

Page 13: EET 250 Number systems. Introduction to Number Systems While we live in a world where the decimal number is predominant in our lives, computers and digital

• Each place is a higher power of 16.

160161162163

= 1= 16= 256= 4096

But since it is base-16, 16 unique digits are But since it is base-16, 16 unique digits are needed . The first 10 are carried over from needed . The first 10 are carried over from decimal, 0-9. The last 6 borrow from the decimal, 0-9. The last 6 borrow from the alphabet, A-F, where:alphabet, A-F, where:A = 10 B = 11 C = 12A = 10 B = 11 C = 12D = 13 E = 14 F = 15D = 13 E = 14 F = 15

Page 14: EET 250 Number systems. Introduction to Number Systems While we live in a world where the decimal number is predominant in our lives, computers and digital

Hexadecimal to Decimal• By taking the value, 7C, and multiplying each

digit by the weight of the position, we can convert a hexadecimal value to decimal.

C (12)x 1

12

7x16

112

Thus 7C in Hexadecimal is112 + 12 = 124 Decimal.

Page 15: EET 250 Number systems. Introduction to Number Systems While we live in a world where the decimal number is predominant in our lives, computers and digital

Hexadecimal to Binary• Because 16 (hex) is a whole

power of 2 (binary), there is a direct correlation between a hexadecimal value and a binary value.

• Each hex value corresponds to a unique binary nibble, since a nibble has 16 unique states.

Binary Hex

0000 0

0001 1

0010 20011 30100 40101 50110 60111 71000 81001 91010 A1011 B1100 C1101 D1110 E1111 F

Page 16: EET 250 Number systems. Introduction to Number Systems While we live in a world where the decimal number is predominant in our lives, computers and digital

• Because each nibble is a hexadecimal value, it is simple to convert binary to hexadecimal and vice-versa.

00101110E2

In programming or computer use many times In programming or computer use many times values are represented in hexadecimal for a good values are represented in hexadecimal for a good human to computer interface number system.human to computer interface number system.DIRS = 00F0DIRS = 00F0The COM1 address is 03F8The COM1 address is 03F8The MAC address is: 0C12CEF69B01The MAC address is: 0C12CEF69B01

Page 17: EET 250 Number systems. Introduction to Number Systems While we live in a world where the decimal number is predominant in our lives, computers and digital

Binary Coded Decimal (BCD)• BCD is used by many devices to have a direct

correlation between a binary nibble and a decimal value.

• BCD is simply a subset of hexadecimal where A (1010) through F (1111) are invalid. It is denoted by 95BCD.

1001010195 hexadecimal or BCD

Page 18: EET 250 Number systems. Introduction to Number Systems While we live in a world where the decimal number is predominant in our lives, computers and digital

Conversion TableBinary Hex BCD Decimal

0000 0 0 0

0001 1 1 1

0010 2 2 20011 3 3 30100 4 4 40101 5 5 50110 6 6 60111 7 7 71000 8 8 81001 9 9 91010 A Invalid 101011 B Invalid 110100 C Invalid 121101 D Invalid 131110 E Invalid 141111 F Invalid 15

Page 19: EET 250 Number systems. Introduction to Number Systems While we live in a world where the decimal number is predominant in our lives, computers and digital

Conversion Calculators

• Many scientific calculators can convert between various number systems. The Microsoft Windows® calculator is one example. It must first be placed in scientific mode.

Page 20: EET 250 Number systems. Introduction to Number Systems While we live in a world where the decimal number is predominant in our lives, computers and digital

• Next, select the number system, enter a value, and select a new number system.

Oct is Octal, a Base-8 number system, 0 to 7, where each octal value represents 3 bits.

Page 21: EET 250 Number systems. Introduction to Number Systems While we live in a world where the decimal number is predominant in our lives, computers and digital

ASCII Codes• A byte doesn't always represent a value. In many cases the value

represents a code for a use, such as representing alpha-numeric characters. ASCII is one example.

• ASCII is a 7-bit code where each value represents a unique character or control function for the transmission of data, such as a text message to terminal. With 7-bits, there are 128 unique codes or characters that may be represented. This is a standard and strictly adhered too.

• Extended ASCII is an 8-bit code providing 256 unique characters or codes. Different systems use the upper 128 values as they desire.

Page 22: EET 250 Number systems. Introduction to Number Systems While we live in a world where the decimal number is predominant in our lives, computers and digital

From Page 337 of the BASIC Stamp Manual Version 2

Page 23: EET 250 Number systems. Introduction to Number Systems While we live in a world where the decimal number is predominant in our lives, computers and digital

Summary

• As programmers, it is important to be able to relate controllers in other number systems, such as binary, hexadecimal and BCD.

• It is also important to understand the ASCII table and use in representing control and alphanumeric character representations.

Page 24: EET 250 Number systems. Introduction to Number Systems While we live in a world where the decimal number is predominant in our lives, computers and digital

Binary Number Powers of Two• 1 bit -> 2 states 0,1 (on/off)• 2 bits -> 4 states 00, 01, 10 ,11• 3 bits -> 8 states 000,001,010,011,100,101,110,111• 4 bits -> 16 states (nibble)• 5 bits -> 32 states• 8 bits -> 256 states (byte)• 10 bits -> 1024 states ( 1K)• 16 bits -> 65,536 states (64K) (Word)• 20 bits -> 1,048,576 states (1M)• 32 bits -> 4,294,967,296 states (4G) (2 words)• In general 2 N states are possible with N bits

Page 25: EET 250 Number systems. Introduction to Number Systems While we live in a world where the decimal number is predominant in our lives, computers and digital

Example: Binary Addition

= 83

57+ 26

Page 26: EET 250 Number systems. Introduction to Number Systems While we live in a world where the decimal number is predominant in our lives, computers and digital

Example: Binary Multiplication

Page 27: EET 250 Number systems. Introduction to Number Systems While we live in a world where the decimal number is predominant in our lives, computers and digital

Unsigned• Limited to situations when processing and

inputs are always positive• Important in representation data or signals

absolute value • Largest number all ones, smallest all zeroes

( byte examples)– FF 1111111 Max positive– 00 00000000 Zero (smallest)

Page 28: EET 250 Number systems. Introduction to Number Systems While we live in a world where the decimal number is predominant in our lives, computers and digital

Signed• Used when processing negative numbers or doing

associated subtraction and multiplication• Important in representation data or signals that “go

below zero point” • Two’s compliment format Most significant bit donates

sign ( 0 is positive, 1 is minus)• ( byte examples)

– 7F 01111111 Max positive– 00 00000000 Zero– FF 11111111 Negative one– 80 10000000 Max negative

Page 29: EET 250 Number systems. Introduction to Number Systems While we live in a world where the decimal number is predominant in our lives, computers and digital

3.3.v0

0000 0000 0000 0000 (0)

Input

0111 1111 1111 0000 (+0.999)

1000 0000 0000 0000 (-1)

Signed and Unsigned Format

3.3v0 0000 0000 0000 0000 (0)

0000 1111 1111 1111 (4095)

0000 1000 0000 0000 (2048)

Input

Unsigned Integer

Signed

Page 30: EET 250 Number systems. Introduction to Number Systems While we live in a world where the decimal number is predominant in our lives, computers and digital

Summary Binary Data Representation Schemes

• Numbers/data– Signed magnitude ( MSB represents Sign bit)

– Unsigned magnitude ( MSB is part of number)

– Machine defined ( machine codes or bits mean control/or status for program operation)

– ASCII ( pre-defined agreed to symbol to binary table)

– Binary Coded Decimal• Two nibbles side by side

• Each nibble represents a binary four bit number from 0-9

Confusing to write out strings of 1’s and 0’s -> best to use HEX shorthand

Page 31: EET 250 Number systems. Introduction to Number Systems While we live in a world where the decimal number is predominant in our lives, computers and digital

Machine Codes• Machine specific instruction codes

• Varies in size and definition from machine to machine.– Highly dependent on internal machine registers

and computational capabilities

Page 32: EET 250 Number systems. Introduction to Number Systems While we live in a world where the decimal number is predominant in our lives, computers and digital

Assignments

• Complete Handout 1 on Number systems

• Read Chapter 2 of Bates book do questions 1,2,3