Professional Documents
Culture Documents
1/14/09
1
Lecture 1 review
Digital signals assume two values represented by “0” and “1”.
Typically a “0” represents a voltage near 0 volts, and a “1”
represents a voltage near 5 volts (3.3 volts for newer devices).
Two types of digital circuits:
• Combinational
-Simpler
-Output a function of present input.
-Consists of logic gates without feedback.
• Sequential
-The output is a function of not only the present input,
and current state which is determined by past events.
- Consists of flip-flops or gates with feedback.
2
3
Non-decimal arithmetic.
1 1 0 1 1 0 0 1 0
0 1 0 1 0 1 0 1
1 0 0 1 0 1 1 0 1
4
Binary multiplication and division
example
1 0 1 11
0 1 1 101 1111
1 0 1
101
1 0 1
101
0 0 0
0 1 1 1 1 101
0
5
Base 5 multiplication example
X 0 1 2 3 4 3 4
0 0 0 0 0 0
1 0 1 2 3 4 1 4
2 0 2 4 11 13
3 0 3 11 14 22
4 0 4 13 22 31
6
Representing negative numbers
• Sign-magnitude. +199.1210, -199.1210, -1012
– This is what people normally use.
– Complicates digital logic.
• Complement number systems.
– May use radix or radix-1 (actually rn or rn – 1 for n digit
words).
– In base 10 we use 10’s complement or 9’s complement.
– In base 2 we use 2’s complement or 1’s complement.
– Simplifies digital logic. Eliminates need for separate hardware
for addition and subtraction.
– The 2’s complement has become the standard.
– We will concentrate on 2’s complement.
7
9’s and 10’s complement.
10
1849 10000 1849 8151
10
9
184910 9999 1849 8150
8
9
One’s Complement
11101110 2
1
00001100 11111111 2 000011002
2
11110011 2
Rule: Complement each bit.
10
Two’s complement
• To find 2’s complement.
2
000100012 10000000 00010001 11101111 2
or better
0001000122 0001000112 1 11101111 2
• Easy way. Starting at rightmost bit, copy
through first 1 then complement each bit.
2 2
00010001 ?,
2 00001100 ?
2
11
2’s complement
• With n bits we can represent binary values
form 0 to 2n-1.
– For example with 3 bits: 000, 001, …, 111.
– With 3 bits 111 + 001 = 000. (Overflow!)
• For an n bit number B, B2 = 2n – B
• -B = -2n + B2
• A – B = -2n + A + B2
Rule: To subtract A – B take two’s
complement of B and add. Ignore contents
of 2n bit position.
12
Examples
17 000100012
12 00001100 2
17 12 29 000111012
17 12 5 000001012
2
17 12 5 000001012 11111011 2
2
17 12 29 11100011 2
13
Two’s complement example (using 6 bits)
1710 0100012 0100012
2
1210 001100 2 11010 0 2
510 0 001012 1 0001012
14
Binary codes for decimal numbers.
• Decimal numbers are represented in a digital system using
a string of bits.
– This can be done in various ways.
• A set of n-bit strings where different strings represent
different numbers or other things is called a code.
• A particular combination of n-bit values is called a code
word.
• See Table 2-9 on page 49 for example codes for decimal
digits.
• A common and convenient code for decimal numbers is
BCD.
15
16
Lab 2: Wire up the circuit below and verify that it converts 2421
code to BCD. For example an input of “1111” produces output of
“1001”.
1
1
1
0
1
1
0
1
1 17
BCD
• BCD is a binary representation of decimal
numbers in a form that can easily be
interpreted by a person.
• Suppose we want to store 149210 in a 16 bit
computer word.
– In binary 149210 = 0000 0101 1101 01002
– In BCD 149210 is stored as
– 0001 0100 1001 0010BCD
18
BCD addition
• Suppose 1492 and 1066 are stored in BCD.
1492 0001 0100 1001 0010
1066 0001 0000 0110 0110
If we add these in binary we get an incorrect result.
Rule to add BCD numbers start at least significant
BCD position (4 bits) add in binary if there is a
carry or the result is grater than 9 add 6. Repeat
for each BCD position.
19
BCD addition example
0001 0100 1001 0010
0001 0000 0110 0110
____ 1000 = 8 < 9 no carry OK
1111 = 15 > 9 must add 6
0110
___1 0101 Now OK (9 + 6 = 15)
____ 0101 = 5 < 9 no carry OK
0010 = 2 < 9 no carry OK
Final BCD Answer = 0010 0101 0101 1000
149210 + 106610 = 255810
Conclusion BCD addition is easy we just have to know when to correct by adding 6.
Some microprocessors have a decimal adjust addition (DAA) instruction for
automatically performing BCD addition correction.
20
Gray Code
The most common example of a unit distance code (Successive
values differ by only one bit). See Table 2-10 page 52.
25
26
n-cubes and distance
• The values of an n-bit code can be considered as the
coordinates of vertices of an n-dimensional Boolean
hypercube.
– See figure 2-8 on page 57.
• Useful for visualizing coding concepts.
– See figure 2-9 on page 57.
• Hamming distances – The number of bits in which the
coordinates of two points differ.
– See figure 2-10 page 59.
• m-subcube – a set of 2m vertices in which n-m bits of the
coordinates have the same value.
– See Figure 2-8 Page 57
27
28
29
30