CMPS 10 Winter 2008- Homework Assignment 5

advertisement
CMPS 10 Winter 2011- Homework Assignment 5
Problems:
Chapter 4 (p.184): 1abc, 3abcd, 4ab, 5abc, 6, 7, 9abcd, 15abcd, 17, 18, 19, 20
1. Given our discussion of positional numbering systems in Section 4.2.1, see whether
you can determine the decimal value of the following numbers.
a. 133 (base 4)
b. 367 (base 8, also called octal).
c. 1BA (base 16, also called hexadecimal. B is the digit that represents 11, A is the digit
that represents 10).
Solution:
a. (1 x 42) + (3 x 41) + (3 x 40) = 16 + 12 + 3 = 31
Thus, 133 (base 4) = 31 (base 10)
b. (3 x 82) + (6 x 81) + (7 x 80) = 192 + 48 + 7 = 247
Thus 367 (base 8) = 247 (base 10)
c. (1 x 162) + (11 x 161) + (10 x 160) = 256 + 176 + 10 = 442
Thus 1BA (base 16) = 442 (base 10)
3. Determine the decimal value of the following unsigned binary numbers.
a. 1100
c. 1111111
b. 110001
d. 1000000000
Solution:
a. 23 + 22 = 8 + 4 = 12
Thus 1100 (base 2) = 12 (base 10)
b. 25 + 24 + 20 = 32 + 16 + 1 = 49
Thus 110001 (base 2) = 49 (base 10)
c. 26 + 25 + 24 + 23 + 22 + 21 + 20 = 64 + 32 + 16 + 8 + 4 + 2 + 1 = 127
Thus 1111111 (base 2) = 127 (base 10)
d. 29 = 512
Thus 1000000000 (base 2) = 512 (base 10)
4. Using 8 bits, what is the unsigned binary representation of each of the following
values:
(4 pts)
a. 23
b. 55
Solution:
a. 23 = 16 + 4 + 2 + 1
23 = 24 + 22 + 21 + 20
HW 5 Solution
1
b.
Thus 23 (base 10) = 10111 (base 2)
55 = 32 + 16 + 4 + 2 + 1
55 = 25 + 24 + 22 + 21 + 20
Thus 55 (base 10) = 110111
5. Assume that the following 10-bit numbers represent signed integers using
sign/magnitude notation. The sign is the leftmost bit and the remaining 9 bits
represent the magnitude. What is the decimal value of each?
(6 pts)
a. 1000110001
c. 1000000001
b. 0110011000
Solution:
a. -(25 + 24 + 20) = -(32 + 16 + 1) = -49
Thus 1000110001 (base 2) = -49 (base 10)
b. 28 + 27 + 24 + 23 = 256 + 128 + 16 + 8 = 408
Thus 0110011000 (base 2) = 408 (base 10)
c. -(20) = -1
Thus 1000000001 (base 2) = -1 (base 10)
6. Assume we use 10 bits to represent signed integers using sign/magnitude notation.
What are the largest (in absolute value) positive and negative numbers that can be
represented on our system?
Solution:
The largest positive integer is 0111111111 (base 2), which is 511 (base 10).
The smallest negative integer is 1111111111 (base 2), which is -511 (base 10).
7. Show the step-by-step addition of the following two 10-bit unsigned binary values,
including showing the carry bit to each successive column.
Solution:
111
111
0011100011 (decimal 227)
+0001101110 (decimal 110)
0101010001 (decimal 337)
9. Using the ASCII code set given in Figure 4.3, s how the internal binary representation
for the following character strings.
a. AbC
c. $25.00
b. Mike
d. (a+b)
HW 5 Solution
2
Solution:
To answer this problem, we simply look up the appropriate values in Figure 4.3 (page 141).
Spaces are used to break up the individual characters below.
a.
b.
c.
d.
01000001 01100010 01000011
01001101 01101001 01101011 01100101
00100100 00110010 00110101 00101110 00110000 00110000
00101000 01100001 00101011 01100010 00101001
15. Assume that a = 1, b = 2, and c = 2. What is the value of each of the following
Boolean expressions?
(8 pts)
a. (a > 1) OR (b = c)
b. [(a + b) > c] AND (b  c)
c. NOT (a = 1)
d. NOT [(a = b) OR (b = c)]
Solution:
a. a is not greater than 1, but b does equal c. Therefore, we get:
false OR true, which evaluates to:
True.
b. a + b is greater than c, and b is less than or equal to c. Therefore, we get:
true AND true, which evaluates to:
True.
c. a is equal to 1. Therefore, we get:
NOT(true), which evaluates to:
False.
d. a does not equal b, and b = c. Therefore, we get:
NOT(false OR true), which evaluates to:
False.
17. Using the circuit construction algorithm of Section 4.4.2, design a circuit using only
AND, OR, and NOT gates to implement the following truth table.
(2 pts)
a b Output
0 0
1
0 1
1
1 0
1
1 1
0
This operation is termed NAND, for Not AND, and it can be constructed as a single gate as
shown in Figure 4.17(a).
Solution:
We construct the Boolean expression: (a  b)  (a  b)  (a  b)
HW 5 Solution
3
Using this expression, we can construct the following circuit diagram:
Note that there are several variations on this answer – in particular, the last two OR gates can
be moved around. One OR gate must connect two AND gates (any two), and the other OR
gate must connect the first OR gate and the last AND gate.
18. Using the circuit construction algorithm of Section 4.4.2, design a circuit using only
AND, ORR, and NOT gates to implement the following truth table.
a b Output
0 0
1
0 1
1
1 0
0
1 1
1
This operation is termed logical implication, and it is an important operator in symbolic
logic.
Solution:
We construct the Boolean expression: (a  b)  (a  b)  (a  b)
Using this expression, we can construct the following circuit diagram:
This solution follows the same guidelines as the last answer – the OR gates can be moved
around in any order with the AND gates (following the rules from above).
19. Build a majority-rules circuit. This is a circuit that has three inputs and one output.
The value of its output is 1 if and only if two or more of its inputs are 1; otherwise the
output of the circuit is 0. For example, if the three inputs are 0, 1, 1, your circuit
should output a 1. If its three inputs are 0, 1, 0, it should output a 0. This circuit is
HW 5 Solution
4
frequently used in fault-tolerant computing – environments where a computer must
keep working correctly no matter what, for example as on a deep-space vehicle where
making repairs is impossible. In these conditions, we might choose to put three
computers on board and have all three do every computation; if two ore more of the
systems produce the same answer, we accept it. Thus, one of the machines could fail
and the system would still work properly.
Solution:
First we must construct a truth table to work from. Using the description above, we can
generate the following truth table:
a b c Output
0 0 0
0
0 0 1
0
0 1 0
0
0 1 1
1
1 0 0
0
1 0 1
1
1 1 0
1
1 1 1
1
From this truth table, we can now construct a Boolean expression:
(a  b  c)  (a  b  c)  (a  b  c)  (a  b  c)
Using this expression, we can then create the following circuit diagram:
This circuit diagram can be modified to place any two AND gates with one OR gate, and the
other two AND gates with the other OR gate. The final OR gate must take input from the
other two OR gates.
20. Design an odd-parity circuit. This is a circuit that has three inputs and one output.
The circuit outputs a 1 if and only if an even number (0 or 2) of its inputs are a 1.
Otherwise, the circuit outputs a 0. Thus the sum of the number of 1 bits in the input
HW 5 Solution
5
and the output is always an odd number. (This circuit is used in error checking. By
adding up the number of 1 bits, we can determine whether any single input bit was
accidentally changed. If it was, the total number of 1s is an even number when we
know it should be an odd value).
(2 pts)
Solution:
First we must construct a truth table to work from.
the following truth table:
Using the rules above, we can generate
a b c Output
0 0 0
1
0 0 1
0
0 1 0
0
0 1 1
1
1 0 0
0
1 0 1
1
1 1 0
1
1 1 1
0
From this truth table, we can now construct a Boolean expression:
(a  b  c)  (a  b  c)  (a  b  c)  (a  b  c)
Using this expression, we can then create the following circuit diagram:
Like the last problem, this circuit diagram can be modified to place any two AND gates with
one OR gate, and the other two AND gates with the other OR gate. The final OR gate must
take input from the other two OR gates.
HW 5 Solution
6
Download