Review Notes : Chapter 1 - Electrical and Computer Engineering

advertisement
Digital Design:
From Gates to Intelligent
Machines
Bruce F Katz
Da Vinci Engineering Press
Number Systems
Numbers and Numerals
A number is a quantity
A numeral is a representation of a number
Example (all representations of the quantity 5)
5, V (Roman), 101 (binary),
(Babylonian)
Not equivalent in ease of computation, however
Number Systems
Positional Number Systems
A quantity is a weighted sum of powers of a base b
anb n  an1b n1  an2b n2  ...  a0b0  a1b 1  ...  am1b m1  amb m
Compactness of representation and ease of computation
Additional characteristics
digits to the left of radix point are integral
digits to the right of the radix point are fractional
Number Systems
Examples of Positional Number Systems
base 10
102410 = 1*103 + 0*102 + 2*101 + 4*100
base 8
417.238= 4*82 + 1*81 + 7*80 + 2*8-1 + 3*8-2
= 256 + 8 + 7 + 2/8 + 3/64
base 2
1010.1 = 1*23 + 1*21 + 1*2-1 = 10.510
Number Systems
Commonly used bases
decimal
(base 10)
binary
(base 2)
octal
(base 8)
hexadecimal
(base 16)
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
00000
00001
00010
00011
00100
00101
00110
00111
01000
01001
01010
01011
01100
01101
01110
01111
10000
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10
Number Systems
Which base is best for human use?
6
5
4
# of divisors 3
2
1
0
2
3
4
5
6
7
8
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
base
Base 12 has the most divisors among the small
numbers but we usually use base 10. Why?
Number Systems
Conversion between bases (special case)
Principle
If one base is an integer power of another base, can group by
this integer to perform conversion.
Examples
1011112 = ?8
solution: group by 3 bits
F416 = ?2
{101}{111}2 = 578
solution: each hex digit represents 4 bits
F416 = {1111}{0100}2 = 111101002
Number Systems
Conversion to and from base 10
To base 10
Use definition of a positional number
Example: 1101.1012 to base 10
1101.1012 = 1*23 + 1*22 + 0*21 + 1*21 + 1*2-1 + 0*2-2 + 1*2-3 = 13.625
From base 10
Use reformulation of definition of a positional number
[((an b  an 1 )b  an2 )b  ...a1 ]b  a0 .
Successive divisions by the base will yield then digits as remainders
Example: 125 to base 3
125/3 = 41 remainder 2
41/3 = 13
remainder 2
13/3 = 4
remainder 1
4/3 = 1
remainder 1
1/3 = 0
remainder 1
therefore answer is 111223
Number Systems
Binary Number Systems
Motivation
Correspondence between 0 and 1 and logical values (true and false)
Ease of constructing binary circuits
Powers of 2
n
4
8
10
16
20
30
40
2n
16
256
1,024
65,536
1,048,576
1,073,741,824
1.099E12
significance
one nibble (1/2 a byte)
one byte; one ASCII char
quantity abbreviated by 1K (kilo)
two bytes; one UNICODE char
quantity abbreviated by 1M (mega)
quantity abbreviated by 1G (giga)
quantity abbreviated by 1T (tera)
Number Systems
Binary Addition and Subtraction
Addition
Same as decimal addition with binary carries
00110010
10011101
01011001
----------------------11110110
carry
addend1
addend2
sum
Subtraction
Same as decimal subtraction with binary borrows
01000110
11011100
01101001
----------------------01110011
borrow
minuend
subtrahend
difference
Number Systems
Binary Addition and Subtraction Tables
addition
subtraction
addend 1
addend 2
carry in
sum
carry out
minuend
subtrahend
borrow
in
difference
borrow
out
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1
0
1
1
1
0
0
0
1
Important: These tables are the foundation for computer arithmetic!
Number Systems
Binary Multiplication
Easier than decimal multiplication because always multiplying
by 0 or 1
Example
0110
* 1011
---------0110
0110
0000
0110
------------------1000010
Number Systems
Representing Negative Numbers
System 1: Signed Magnitude
Leftmost bit represents negative sign
Examples
01010111 = 87
11010111 = - 87
Advantage
Simplicity
Disadvantage
Mathematical operations clumsy, e.g. addition:
if (signs same)then
{
add magnitudes
give result this sign
}
else
/* signs different */
{
compare magnitudes
subtract smaller from larger
give result sign of the larger
}
Number Systems
Representing Negative Numbers
System 2: 2’s complement
Positive numbers identical, negative numbers 2n - positive
version, where n is the number of bits in the representation
Examples
00010001 = 17
100000000 - 00010001 = 11101111 = - 17
Trick for computing negative number
Flip all the bits and add 1
00010001
11101110
11101111
after flip
after adding 1
Note: Negative numbers will always begin with 1, positive with 0
Number Systems
Representing Negative Numbers
System 2: 2’s complement
Addition method
Just add! (and ignore any bits > 2n-1)
00101011
(43)
+1 1 1 0 1 1 1 1 (-17)
------------------100011010
Overflow condition:
If add 2 positive and get a negative or vice versa
Example
10001111
(-113)
+1 1 1 0 1 1 1 1
------------------101111110
(-17)
overflow!
Number Systems
Codes
A way of representing a set of quantities or a set of symbols within a given base
Example in base 2
decimal
Binary
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
BCD
0000 0000
0000 0001
0000 0010
0000 0011
0000 0100
0000 0101
0000 0110
0000 0111
0000 1000
0000 1001
0001 0000
0001 0001
0001 0010
0001 0011
0001 0100
0001 0101
gray
even parity
0000
0001
0011
0010
0110
0111
0101
0100
1100
1101
1111
1110
1010
1011
1001
1000
00000
10001
10010
00011
10100
00101
00110
10111
11000
01001
01010
11011
01100
11101
11110
01111
Number Systems
Codes
BCD
Each decimal digit is encoded by four binary digits
Motivation
ease of conversion
Examples
0001 0100
14
1001 0111
97
Gray Coding
Each successive number differs by only 1 bit from previous
Motivation
counting with CMOS
Karnaugh maps
Number Systems
Codes
Parity
An extra bit is added to make the string always even or odd
Motivation
error checking
ASCII
b6b5b4
b3b2b1b0
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
000
NUL
SOH
STX
ETX
EOT
ENQ
ACK
BEL
BS
HT
LF
VT
FF
CR
SO
SI
001
DLE
DC1
DC2
DC3
DC4
NAK
SYN
ETB
CAN
EM
SUB
ESC
FS
GS
RS
US
010
011
100
101
110
SP
!
“
#
$
%
&
‘
(
)
*
+
,
.
/
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
_
`
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
111
p
q
r
s
t
u
v
w
x
y
z
{
|
}
~
DEL
Number Systems
Codes
Unicode
4 hex digits encode 216 characters
Example
Number Systems
Summary of topics
Numbers and numerals
Positional number systems
Conversion between bases
Binary number systems
Binary addition, subtraction, and multiplication
Representation of negative numbers
Codes
Download