ENGR 2720 Chapter 1 - UNT College of Engineering

Download Report

Transcript ENGR 2720 Chapter 1 - UNT College of Engineering

EENG 2710 Chapter 1
Number Systems and Codes
1
Chapter 1 Homework
1.1c, 1.2c, 1.3c, 1.4e, 1.5e, 1.6c, 1.7e,
1.8a, 1.9a, 1.10b, 1.13a, 1.19
2
Number Systems
3
Binary Number System
• Uses two digits, 0 and 1.
• Represents any number using the positional
notation.
4
Positional Notation
• The value of a digit depends on its
placement within a number.
• In base 10, the positional values are
(starting to the left of the decimal) –
1 (100), 10 (101), 100 (102), 1000 (103), etc.
• In base 2, the positional values are
1 (20), 2 (21), 4 (22), 8 (23), etc.
5
Binary Weights
27
26
25
24
23
22
21
20
128
64
32
16
8
4
2
1
6
Fractional Binary Weights
2-1
2-2
2-3
2-4
½
¼
1/8
1/16
0.5
0.25
0.125
0.0625
7
Bit
• Shorthand for binary digit, a logic 0 or 1.
• The most significant bit (MSB) is the
leftmost bit of a binary number.
• The least significant bit (LSB) is the
rightmost bit of a binary number.
8
Binary Inputs
• Digital circuits operate by accepting logic
levels (0,1) at their input(s).
• The corresponding output(s) logic level
will change (0,1).
9
Binary Inputs
10
4-Input Digital Circuit
11
Base Conversions Methods
• Series substitution method
• Sum powers of 2
• Radix method
– Repeated Division
– Repeated Multiplication
12
Series Substitution Method
(Binary to Decimal)
1101  (1 2 )  (1 2 )  (0  2 )  (1 2 )
3
2
1
0
 (1 8)  (1 4)  (0  2)  (1 1)
 8  4  0 1
 13
13
Sum Powers of 2
(Decimal to Binary)
• Step 1:
– Determine the largest power of 2 less than or
equal to the number to be converted.
– Place a 1 in that positional location.
• Convert 5710 to binary
• 6410  5710  3210
32
1
16
8
4
2
1
14
Sum Powers of 2
• Step 2:
– Subtract the number found in Step 1 from the
number to be converted.
• 57 – 32 = 25
– For the new number, determine if the next
lowest power of 2 is less than or equal to that
number.
• 25 – 16 = 9
15
Sum Powers of 2
• Step 3:
– If the new power of two from Step 2 is larger,
place a 0 in that positional location.
– If the new value is less than or equal, place a 1
in that positional location.
16
Sum Powers of 2
• Step 4:
– Repeat Steps 2 and 3 until there is nothing left
to subtract.
– All remaining bits are set to 0.
32
1
16
1
8
1
4
0
2
0
1
1
5710 = 1110012
17
Radix Method
(Repeated Division by 2)
1
1
2
2
0
5
4
1
11
10
1
23
22
1
46
46
0
2
4610 = 1011102
18
Fractional Binary Numbers
• Radix point:
– The generalized decimal point. The dividing
line between positive and negative powers for
positional multipliers.
• Binary point:
– The radix point for binary numbers.
19
Fractional Binary Values
• The value immediately to the right of the
binary point is 2–1 = 0.5.
• The next value to the right is 2–2 = 0.25.
• The next value to the right is 2–4 = 0.125,
and so on.
20
Series Substitution Method
(Binary Fraction to Decimal Fraction)
0.101101  (1 2 )  (0  2 )  (1 2 ) 
-1
-2
-3
(1 2 )  (0  2 )  (1 2 )
 1/2  0  1/8  1/16  1/64
-4
-5
-6
 45/64
 0.703125
21
Radix Method for 0.210 to Binary
(Repeated Multiplication by 2)
• Step 1:Multiply the decimal fraction by 2.
• Step 2:
Integer part is 0 or 1 left of decimal point.
0.2 x 2 = 0.4 Integer part = 0
0.4 x 2 = 0.8 Integer part = 0
0.8 x 2 = 1.6 Integer part = 1
0.6 x 2 = 1.2 Integer part = 1
0.2 x 2 = 0.4 Integer part = 0 (stop
0011repeats)
Read integer parts from top to bottom
Therefore, 0.210 = 0.0011 0011 0011
22
Hexadecimal Numbers
• Base 16 number system.
• Primarily used as a shorthand form of
binary numbers.
23
Counting in Hexadecimal
• Values range from 0 to F with the letters A
to F used to represent the values 10 to 15
respectively.
• Positional multipliers are powers of 16:
160 = 1, 161 = 16, 162 = 256, etc.
24
Hexadecimal vs. Decimal
Numbers
Decimal
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
A
B
C
D
E
F
Hexadecimal
0
1
2
3
4
5
6
7
8
9
25
Counting In Hexadecimal
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F
20,21,22,23,24,25,26,27,28,29,2A,2B,2C,2D,2E,2F
30,31,32,33,34,35,36,37,38,39,3A,3B,3C,3D,3E,3F
26
Decimal-to-Hexadecimal Conversion
(Repeated division by 16)
7
7
7
123
112
11
B
1973
1968
5
5
31581
31568
13
D
16
3158110 = 7B5DH
27
Hex-Decimal-Binary Table
Hex
Decimal
Binary
Hex
(Cont)
Decimal
Binary
0
0
0000
8
8
1000
1
1
0001
9
9
1001
2
2
0010
A
10
1010
3
3
0011
B
11
1011
4
4
0100
C
12
1100
5
5
0101
D
13
1101
6
6
0110
E
14
1110
7
7
0111
F
15
1111
28
Conversion Between
Hexadecimal and Binary
• Each hexadecimal digit represents 4 binary
bits.
F
D
6
9
1111 1101 0110 1001
FD69H = 11111101011010012
29
Signed/Unsigned Binary Numbers
• Signed Binary Number:
– A binary number of fixed length whose sign
(+/–) is represented by one bit (usually
MSB) and its magnitude by the remaining
bits.
• Unsigned Binary Number:
– A binary number of fixed length whose sign
is not specified by a bit. All bits are
magnitude and the sign is assumed +.
30
Unsigned Binary Arithmetic
• Sum:
– Result of an Addition Operation of two (or more)
binary numbers (operands).
• Carry:
– A digit (or bit) that is carried over to the next most
significant bit during an n-Bit addition operation.
• The carry bit is a 1 if the result was too large to be
expressed in n bits.
31
Basic Rules (Unsigned)
1  carry to next  1111
10010
10101110
 1010
11100
 10010011
101000001
Carry out bit
32
Basic Subtraction
• Basic Subtraction of x = a – b, with a =
minuend, b = subtrahend, and x = difference
or result.
• Requires a Borrow Bit if a < b.
• There are other forms of subtraction such as
2’s Complement Addition used by
microprocessors (such as in a PC).
33
Binary Subtraction with Borrow
Examples
1110
110(10)
- 1001
100 1
10000
010 1
0111(10) Borrow ripples to LSB
- 101
Borrow Stage
10 1
0101 1
34
Signed Binary Numbers
• Sign Bit:
– A bit (usually the MSB) that indicates whether
a number is positive (= 0) or negative (= 1).
• Magnitude Bits:
– The bits of a signed binary number that tell how
large it is in value.
35
Signed Binary Numbers
• True-Magnitude Form:
– A form of signed binary whose magnitude bits are the
TRUE binary form (not complements).
• 1’s Complement:
– A form of signed binary in which negative numbers are
created by complementing all bits.
• 2’s Complement:
– A form of signed binary in which the negative numbers
are created by complementing all the bits and adding a
1 (1’s Complement + 1).
36
True-Magnitude Form
•
•
•
•
•
5-Bit Numbers Negative Sign (S = 1)
+25 = 011001 (Note sign bit (MSB) Sign = 0)
–25 = 111001 (Same as +25 with sign = 1)
+12 = 001100
–12 = 101100
37
1’s Complement Form
•
•
•
•
•
8-Bit 1’s Complement Negative (S = 1)
+57 = 00111001
–57 = 11000110 (All Bits Inverted)
+72 = 01001000
–72 = 10110111
38
2’s Complement Form
57 = 0011 1001
-57 = 1100 0110
+1
1100 0111
39
Signed Binary Addition (8-Bit)
Signed Addition Positive (S = 0)
+30 = 00011110
+75 = 01001011
105 01101001
40
Subtraction with 1’s Complement
• Add the 1’s Complement and then Carry.
(80 – 65)
 80  0101 0000 ( 80)  0101 0000
- 65  0100 0001 ( 65)  10111110 (1' s Comp 65)
1 0000 1110
1
0000 1111
• Uses an End around carry addition method.
41
2’s Complement Subtraction
• Add 2’s Complement to Minuend.
(80 – 65)
Discord Carry Bit From Results
42
2’s Complement Subtraction
20010 – 510 = 19510
(Use 16 bit word)
20010 = 00000000110010002
510 = 00000000000001012
-510 = 11111111111110102 = 1’s complement
+1
11111111111110112
00000000110010002
+ 11111111111110112
100000000110000112 = 00000000110000112 = 19510
43
Negative Results
• If the True-Magnitude Form is used for
subtraction, the results are incorrect.
• If the result is from 1’s or 2’s Complement
and the result is negative (S = 1), the
magnitude is found by taking the
complement of the result.
44
Negative Result Example
Thus, = -1510
45
More Binary Addition
46
More Binary Subtraction
47
Binary Multiplication
48
Binary Division
49
Range of Signed Numbers
• Range of Positive Numbers is 0 to 2n – 1 for a
number with n magnitude bits.
• Range of Negative Numbers is –1 to –2n for a
number with n magnitude bits.
• 8-Bit Example:
8-Bit Number Range is –2n  x  +2n – 1
or –128 to +127
50
Sign Bit Overflow
• Overflow:
– An erroneous carry into the sign bit of a
signed binary number
– Results from a sum or difference that is
larger than can be represented by the
magnitude bits.
• Results in a False Positive or False
Negative Number.
51
False Negative Overflow
• Addition of two 8-Bit Positive Numbers:
 75 
0100 1011
 96   0110 0000
1010 1011
Result is Negative (False)
• Two positive numbers added with a result greater
than the range of +127 for 8-bit numbers causes an
overflow.
52
False Positive Overflow
• Addition of two 8-Bit Negative Numbers:
 80 
10110000
 65   10111111
0110 1111
Result is Positive (False)
• Two Negative numbers were added to produce a False
Positive Result due to overflowing the negative range
of 8-bit numbers (0 to –128).
53
Hexadecimal Addition
• Similar to decimal addition with a range of
digits of 0 to 9 and A to F.
• Examples:
F+1
= 10
F+F
= 1E
F + F + 1 = 1F
54
Hexadecimal Addition
Hex
26B3H
 1A9CH
Decimal Equivalent
( 2)( 6) (11)( 3)
( 1)(10)( 9)(12)
(3) (16)(20)(15)
• For sums greater than 15, subtract 16 and carry 1 to the next
position.
Carry  1
1
( 2)( 6) (11)(3)
( 1)(10)( 9)(12)
( 4)( 1) ( 4)(15)
Hex 
414FH
55
Hexadecimal Subtraction
Hex
Decimal Equivalent
26B3H
(2)(6)(11)(3)
 1A9CH
(1)(10)(9)(12)
To subtract the least significant digit, borrow 10H (1610 )
from the previous position.
Borrow  1  1
(1)(16  6) (10)(16  3)
Hex 
- (1) (10)
(9) (12)
(0)(12)
(1) ( 7)
C17H
56
Hexadecimal Subtraction
2F00H – 4000H
Convert 4000H to hexadecimal equivalent of 2’s complement:
FFFF
4000
BFFF
+1
C000
Add numbers:
2F00
+ C000
EF00H
57
Hexadecimal Subtraction
a.
b.
c.
d.
e.
2F00H – 4000H
Converting 4000 to binary = 0100 0000 0000 0000
Take 1’s complement =
1011 1111 1111 1111
Take 2’s complement =
+1 +1 +1 +1
1100 0000 0000 0000
Change to Hexadecimal = C000H
Add numbers:
2F00
+ C000
EF00H
58
More Hexadecimal Addition
59
More Hexadecimal Subtraction
60
Hexadecimal Multiplication
61
Hexadecimal Division
62
Octal Addition
63
Octal Subtraction
64
Octal Multiplication
65
Octal Division
66
Excess 8 code
67
Floating-point Number Formats
68
Developing a Floating Point number
If n = 1101.0101, convert n to a floating point number.
n = (0.11010101) x 24
The mantissa M = 0.110101012sm
The exponent E = 011 + 10000 = 100112
E = (1, 0011)exess 16
Combining M & E:
N = 0, 1, 0011, 11010101)fp
69
BCD Codes
• BCD Code (Binary-Coded Decimal): A code
used to represent each decimal digit of a number
by a 4-Bit Binary Value.
• Valid Digits for 0 to 9 are 0000 to 1001.
– The binary codes 1010 to 1111 are invalid
• Called an 8421 Code due to the decimal weight of
each bit position.
70
BCD Examples
Each digit is a 4-Bit Binary group:
(84)10 = 1000 0100
(4987)10 = 0100 1001 1000 0111BCD
71
Gray Code
• A binary code that progresses so that only one
bit changes between two successive codes.
000
001
011
010
110
111
101
100
72
How to build a 4-bit Gray Code Table
(A binary code that progresses so that only one bit changes between two
successive codes.)
2-bit Gray code
0
0
0
1
1
1
1
0
0
0
0
0
1
1
1
1
3-bit Gray code
0
0
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
4-bit Gray code
0
0
0
0
0
1
0
1
1
1
1
1
1
0
1
0
1
0
1
0
1
1
1
1
0
1
0
1
0
0
0
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
73
4-bit Gray Code Table
4-bit Gray Code Sequence
Q3
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
Q2
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
Q1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
Q0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
74
A Gray Code Disk
75
ASCII Code
• American Standard Code for Information
Interchange.
• A seven-bit alphanumeric code used to
represent text letters, numerals, punctuation,
and special controls.
• An expanded 8-bit form is becoming more
widespread.
76
ASCII Code
77
Error Detection and Correction Codes
78
Error Detection and Correction Codes
• Definitions
• Parity Codes
– Odd parity
– Even parity
• Hamming Codes
– Code 1
– Code 2
79
Error Detection and Correction Codes
Definitions
•
•
•
•
Error – an incorrect value of one or more binary bits.
Single Error - an incorrect value of one binary bits.
Multiple Error - incorrect values of many binary bits.
Distance between code words – d
– Code word I = 01101100
– Code word J = 11000100
– d (I,J) =3
80
Definitions Continued
• dmin – minimum distance between two code word
– If code provides t error correction plus detection of s
additional errors, then 2t + s + 1  dmin
– At least dmin errors are needed to transform one code
word to another
– Less than dmin errors, then a detectable non-code word
results. Thus, if the non-code word is closer to a valid
code word, then the original code word can be deduced
and the error can be corrected.
81
Parity Basics
• Parity: A digital system that checks for
errors in a n-Bit Binary Number or Code.
• Even Parity: A parity system that requires
the binary number and the parity bit to have
an even # of 1s.
• Odd Parity: A parity system that requires the
binary number and the parity bit to have an
Odd # of 1s.
82
Parity Basics
• Parity Bit: A bit appended on the end of a binary
number or code to make the # of 1s odd or even
depending on the type of parity in the system.
• Parity is used in transmitting and receiving data by
devices in a PC called UARTs, that are on the
COM Port.
• UART = Universal asynchronous
Receiver/Transmitter
83
Parity Basics
84
Parity Calculation
N1 = 0110110:
– It has four 1s (an even number).
– If Parity is ODD, the Parity Bit = 1 to make it
an odd number (5). N = 1110110
– If Parity is EVEN, the Parity Bit = 0 to keep it
an even number (4). N = 0110110
85
Hamming Code Table
86
Hamming Code Problem
Error Word = 1100110, Use Hamming Code 1 to determine the code word.
Code word
87