Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 56

Digital

Fundamentals
Floyd

Chapter 2

Floyd, Digital Fundamentals, 10th ed © 2009 Pearson Education, Upper Saddle River, NJ 07458. l Rights Reserved
Al
Summary
Decimal Numbers

The position of each digit in a weighted number system is


assigned a weight based on the base or radix of the system.
The radix of decimal numbers is ten, because only ten
symbols (0 through 9) are used to represent any number.
The column weights of decimal numbers are powers
of ten that increase from right to left beginning with 100 =1:
…105 104 103 102 101 100.
For fractional decimal numbers, the column weights
are negative powers of ten that decrease from left to right:
102 101 100. 10-1 10-2 10-3 10-4 …
Summary
Decimal Numbers

Decimal numbers can be expressed as the sum of the


products of each digit times the column value for that digit.
Thus, the number 9240 can be expressed as
(9 x 103) + (2 x 102) + (4 x 101) + (0 x 100)
or
9 x 1,000 + 2 x 100 + 4 x 10 + 0 x 1
Express the number 480.52 as the sum of values of
each digit.

480.52 = (4 x 102) + (8 x 101) + (0 x 100) + (5 x 10-1) +(2 x 10-


2)
Summary
Binary Numbers
For digital systems, the binary number system is used.
Binary has a radix of two and uses the digits 0 and 1
to represent quantities.
The column weights of binary numbers are powers of
two that increase from right to left beginning with 20 =1:
…25 24 23 22 21 20.
For fractional binary numbers, the column weights
are negative powers of two that decrease from left to
right:

22 21 20. 2-1 2-2 2-3 2-4 …


Summary Decimal Binary
Number Number

Binary Numbers 0 000


0
A binary counting sequence for numbers 1 000
from zero to fifteen is shown. 1
42 000110
Notice the pattern of zeros and ones in 0
each column. 53 000110
Digital counters frequently have this 1
6 011
same pattern of digits: 0
Counter 0 1 0 1 0 1 0 1 0 1 Decoder
7 011
0 0 1 1 0 0 1 1 0 0
1
8 100
0 0 0 0 1 1 1 1 0 0
0
0 0 0 0 0 0 0 0 1 1
9 100
1
10 101
0
Summary
How to Convert Decimal Numbers to Binary Numbers?
• Divide the given decimal number by “2” where it gives
the result along with the remainder.
• If the given decimal number is even, then the result will
be whole and it gives the remainder “0”
• If the given decimal number is odd, then the result is not
divided properly and it gives the remainder “1”.
• By placing all the remainders in order in such a way, the
Least Significant Bit (LSB) at the top and Most Significant
Bit (MSB) at the bottom, the required binary number will
be obtained.
Summary
How to Convert Decimal Numbers to Binary Numbers?
Summary
Binary Conversions

The decimal equivalent of a binary number can be


determined by adding the column values of all of the
that are 1 and discarding all of the bits that are 0.
bits
Convert the binary number 100101.01 to decimal.
Start by writing the column weights; then add
the
weights
25 24 23 2that
2 21 20correspond
. 2-1 2-2 to each 1 in the number.
32 16 8 4 2 1 . ½ ¼
1 0 0 1 0 1. 0 1
32 +4 +1 +¼ =
37¼
Summary
Binary Conversions

You can convert a decimal whole number to binary by


reversing the procedure. Write the decimal weight of each
column and place 1’s in the columns that sum to the decimal
number.
Convert the decimal number 49 to binary.
The column weights double in each position to the
right. Write down column weights until the last
number is larger than the one you want to convert.
26 25 24 2 3 2 2 2 1 2 0.
64 32 16 8 4 2 1.
0 1 1 0 0 0 1.
Summary
Binary Conversions

You can convert a decimal fraction to binary by repeatedly


multiplying the fractional results of successive
multiplications by 2. The carries form the binary number.
Convert the decimal fraction 0.188 to binary by
repeatedly multiplying the fractional results by
2.
0.188 x 2 = 0.376 carry = 0 MSB
0.376 x 2 = 0.752 carry = 0
0.752 x 2 = 1.504 carry = 1
0.504 x 2 = 1.008 carry = 1
0.008 x 2 = 0.016 carry = 0
Answer = .00110 (for five significant digits)
Summary
Binary Conversions

You can convert decimal to any other base by repeatedly


dividing by the base. For binary, repeatedly divide by 2:
Convert the decimal number 49 to binary by
repeatedly dividing by 2.
You can do this by “reverse division” and the
answer will read from left to right. Put quotients to
the left and remainders on top.
Answer: 1 1 0 0 0 remainder

0 1 1 3 6
12 24 49 2 base

Continue until the Decimal


last quotient is 0 Quotient
number
Summary
Binary Addition

The rules for binary addition are


0+0=0
0 + 1==0,
Sum 1 carry Sum
= 0 = 1, carry = 0
1+0=0 Sum = 1, carry = 0
1 + 1 = 10 Sum = 0, carry = 1
When an input carry = 1 due to a previous result, the
rules
are 1 + 0 + 0 = 01 Sum = 1, carry = 0
1 + 0 + 1 = 10 Sum = 0, carry = 1
1 + 1 + 0 = 10 Sum = 0, carry = 1
1 + 1 + 1 = 11 Sum = 1, carry = 1
Summary
Binary Addition

Add the binary numbers 00111 and 10101 and show


the equivalent decimal addition.
011 1
00111 7
10101 21
11100 = 28
Summary
Binary Subtraction
The rules for binary subtraction are
00=0
11=0
10=1
10  1 = 1 with a borrow of 1
Subtract the binary number 00111 from 10101 and
show the equivalent decimal subtraction.
111
1/0/ 1/ 01 21
00111 7
01110 = 14
Summary
Binary Multiplication
Binary multiplication is similar to the multiplication of
decimal numbers. We have a multiplier and a
multiplicand. The result of multiplication results in a
product. Since only binary digits are involved in binary
multiplication, we get to multiply only 0s and 1s. The rules
for binary multiplication are as follows.
Summary
Binary Multiplication Steps
Step 1: Write down the multiplicand (11101) and the multiplier
(1001)  one below the other in proper positions.
Step 2: Multiply the rightmost digit or the least significant bit (LSB) of
the multiplier (1) with all the digits of the multiplicand (11101).
Step 3: Add a place holder of '0' or 'X' before multiplying the next
higher order digit of the multiplier with the multiplicand.
Step 4: Repeat the same process for all the next higher-order digits
until we reach the most significant bit (MSB) which is the left-most
digit of the multiplicand with the multiplier.
Step 5: The product obtained in each row is called the partial
product. Finally, add all the partial products. To add all the binary
numbers use the rules of binary addition.
Summary
Binary Multiplication Steps
Summary
Binary Multiplication Verification
Therefore, the product of (11101)  and (1001)  is (100000101). Let us verify our
answer. The decimal equivalent of (100000101)  is 261. The decimal equivalent
of (11101) is 29 and the decimal equivalent of (1001) is 9. When we multiply 29
and 9 the product is 261. The decimal equivalent of (100000101)  is 261. Hence,
the product is correct.
Summary
Binary Division

Binary division, similar to other binary arithmetic operations, is performed on


binary numbers.

The algorithm for binary division is somewhat similar to decimal division, the only
difference here lies in the rules followed using the digits '0' and '1'.

Binary multiplication and binary subtraction are the two binary arithmetic
operations that are performed while performing binary division. 

The use of only '0' and '1' makes binary division quite simpler in comparison to
decimal division. 

Other operations that are used while performing binary division are binary
multiplication and binary subtraction.
Summary
Binary Division
Summary
Binary Division
Example 1:  Evaluate 1001011 ÷ 11 using the long-division method.
Summary
1’s Complement

The 1’s complement of a binary number is just the inverse


of the digits. To form the 1’s complement, change all 0’s to
1’s and all 1’s to 0’s.
For example, the 1’s complement of 11001010 is
00110101
In digital circuits, the 1’s complement is formed by using
inverters:
1 1 0 0 1 0 1 0

0 0 1 1 0 1 0 1
Summary
2’s Complement

The 2’s complement of a binary number is found by


adding 1 to the LSB of the 1’s complement.
Recall that the 1’s complement of 11001010 is
00110101 (1’s
To form the 2’s complement, add 1: complement)+1
1 1 0 0 1 0 1 0 00110110 (2’s complement)
1

0 0 1 1 0 1 0 1
Input bits
Carry
Adder
in (add
Output bits (sum) 1)
00 1 1 0 1
1 0
Summary
Signed Binary Numbers
There are several ways to represent signed binary numbers.
In all cases, the MSB in a signed number is the sign bit,
that tells you if the number is positive or negative.
Computers use a modified 2’s complement for
signed numbers. Positive numbers are stored in true form
(with a 0 for the sign bit) and negative numbers are
stored in complement form (with a 1 for the sign bit).
For example, the positive number 58 is written
using 8-bits as 00111010 (true form).

Sign bit Magnitude bits


Summary
Signed Binary Numbers
Negative numbers are written as the 2’s complement of the
corresponding positive number.
The negative number 58 is written as:
58 = 11000110 (complement form)
Sign bit Magnitude bits
An easy way to read a signed number that uses this notation is to
assign the sign bit a column weight of 128 (for an 8-bit
number). Then add the column weights for the 1’s.
Assuming that the sign bit = 128, show that 11000110 =
58
as a 2’s complement signed number:
Column weights: 128 64 32 16 8 4 2 1.
1 1 0 0 0 1 1 0
128 +64 +4 +2 = 58
Summary
Floating Point Numbers
Floating point notation is capable of representing very
large or small numbers by using a form of scientific
notation. A 32-bit single precision number is
illustrated.
S E (8 bits) F (23 bits)
Sign bit Biased exponent (+127) Magnitude with MSB
dropped
Express the speed of light, c, in single precision floating
point
notation. (c = 0.2998 x 109)
In binary, c = 0001 0001 1101 1110 1001 0101 1100 00002.
In scientific notation, c = 1. 0001 0 10011011
1101 1110 001
10011101 1110
0101 10010000
1100 0101x1100
228.
S = 0 because the number is positive. E = 28 + 127 = 15510 = 1001 10112.
F is the next 23 bits after the first 1 is
Summary
Uses of 2’s Complement Binary Numbers
There are various uses of 2’s complement of Binary numbers, mainly in
signed Binary number representation and various arithmetic operations for
Binary numbers, e.g., additions, subtractions, etc. Since 2’s complement
representation is unambiguous, so it very useful in Computer number
representation.
Summary
Range of Numbers
For k bits register, positive largest number that can be stored is (2(k-1)-1)
and negative lowest number that can be stored is -(2(k-1)).

Example for K=8

Largest number will be = +127


Lowest number will be = -128
Summary
Arithmetic Operations with Signed Numbers
Using the signed number notation with negative
numbers in 2’s complement form simplifies addition
and subtraction of signed numbers.
Rules for addition: Add the two signed numbers. Discard
any final carries. The result is in signed form.
Examples:
00011110 = +30 00001110 = +14 11111111 = 1
00001111 = +15 11101111 = 17 11111000 = 8
00101101 = +45 11111101 = 3 111110111 = 9
Discard carry
Summary
Arithmetic Operations with Signed Numbers
Note that if the number of bits required for the answer is
exceeded, overflow will occur. This occurs only if both
numbers have the same sign. The overflow will be
indicated by an incorrect sign bit.
Two examples are:
0 000000 = +128 10000001 =
1 127
0
10000001
000001 =
= +129
126 Discard carry 10000001 =
100000010 = +2
1 127
Wrong! The answer is
incorrect and the sign bit has
changed.
Summary
Arithmetic Operations with Signed Numbers
Rules for subtraction: 2’s complement the subtrahend and
add the numbers. Discard any final carries. The result is
in signed form.
Repeat the examples done previously, but subtract:
00011110 (+30) 11111111 (1)
00001110
 00001111 (+14)
–(+15)  11101111 –(17)  11111000 –
(8)
00011110 = +30 00001110 = +14 11111111 = 1
2’s complement
11110001 = 15subtrahend and=add:
00010001 +17 00001000 = 8
100001111 = +15 00011111 = +31 100000111 = +7
Discard carry Discard carry
Summary
Decimal Hexadecimal Binary
Hexadecimal Numbers 0 0
0000
Hexadecimal uses sixteen characters to 1 1
represent numbers: the numbers 0 0001
through 9 and the alphabetic 2 2
characters A through F. 0010
3 3
Large binary number can easily 0011
be converted to hexadecimal by 4 4
grouping bits 4 at a time and writing 0100
the equivalent hexadecimal character. 5 5
0101
Express 1001 0110 0000 11102 in 6 6
hexadecimal: 0110
Group the binary number by 4- 7 7
bits starting from the right. Thus, 0111
960E 8 8
1000
Summary
Decimal Hexadecimal Binary
Hexadecimal Numbers 0 0 0000
1 1 0001
Hexadecimal is a weighted number 2 2 0010
system. The column weights are 3 3 0011
powers of 16, which increase from 4 4 0100
5 5 0101
right to left. 6 6 0110
{
Column weights
163 162 161 160.
4096 256 16 1 .
7
8
7
8
0111
1000
9 9 1001
Express 1A2F16 in decimal. 10 A 1010
11 B 1011
Start by writing the column weights: 12 C 1100
4096 256 16 1
13 D 1101
1 A 2 16
14 E 1110
F +2(16) +15(1) = 670310
1(4096) + 10(256) 15 F 1111
Summary
Decimal Octal Binary
Octal Numbers 0 0 0000
1 1 0001
Octal uses eight characters the numbers 2 2 0010
0 through 7 to represent numbers. 3 3 0011
There is no 8 or 9 character in octal. 4 4 0100
5 5 0101
Binary number can easily be
6 6 0110
converted to octal by grouping bits 3 7 7 0111
at a time and writing the equivalent 8 10 1000
octal character for each group. 9 11 1001
10 12 1010
Express 1 001 011 000 001 1102 in
11 13 1011
octal:
12 14 1100
Group the binary number by 3-bits 13 15 1101
starting from the right. Thus, 1130168 14 16 1110
15 17 1111
Summary
Decimal Octal Binary
Octal Numbers 0 0 0000
1 1 0001
Octal is also a weighted number 2 2 0010
system. The column weights are 3 3 0011
powers of 8, which increase from right 4 4 0100
5 5 0101
to left. 6 6 0110
{
Column weights
83
512 64
82 81
8
80 .
1 .
7
8
7
10
0111
1000
9 11 1001
Express 37028 in decimal. 10 12 1010
11 13 1011
Start by writing the column weights: 12 14 1100
512 64 8 1
13 15 1101
3 7 0 28
14 16 1110
3(512) + 7(64) +0(8) +2(1) = 198610 15 17 1111
Summary
Decimal Binary BCD
BCD 0 0000
0000 0001
Binary coded decimal (BCD) is a 1 0010
weighted code that is commonly 0001 0011
used in digital systems when it is 2
4 0100
0010
0100 0101
necessary to show decimal 5
3 0011 0110
numbers such as in clock displays. 0101 0111
The table illustrates the 6 0110 1000
difference between straight binary 7 0111 1001
and BCD. BCD represents each 8 1000 00010000
digit with a 4-bit code. Notice that the
decimal 11
9 00010001
codes 1010 through 1111 are not used in 1011
1001 00010010
BCD. 12
10 00010011
1100
1010 00010100
13 00010101
1101
14 1110
Summary
BCD

You can think of BCD in terms of column weights in


groups of four bits. For an 8-bit BCD number, the column
weights are: 80 40 20 10 8 4 2 1.
What are the column weights for the BCD
number 1000 0011 0101 1001?

8000 4000 2000 1000 800 400 200 100 80 40 20 10 8


4 2
1
Note that you could add the column weights where there is
a 1 to obtain the decimal number. For this case:
8000 + 200 +100 + 40 + 10 + 8 +1 = 835910
Summary
BCD
A lab experiment in which BCD
is converted to decimal is
shown.
Summary
Decimal Binary Gray code
Gray code 0 0000
0000 0001
Gray code is an unweighted code 1 0011
that has a single bit change 0001 0010
one code word and the next in a
between 2
4 0110
0010
0100 0111
sequence. Gray code is used to 5
3 0011 0101
avoid problems in systems where an 0101 0100
error can occur if more than one bit 6 0110 1100
changes at a time. 7 0111 1101
8 1000 1111
11
9 1110
1011
1001 1010
12
10 1011
1100
1010 1001
13 1000
1101
14 1110
Summary
Gray code
A shaft encoder is a typical application. Three IR
emitter/detectors are used to encode the position of the shaft.
The encoder on the left uses binary and can have three bits
change together, creating a potential error. The encoder on
the right uses gray code and only 1-bit changes, eliminating
potential errors.

Binary sequence
Gray code sequence
Summary
ASCII

ASCII is a code for alphanumeric characters and control


characters. In its original form, ASCII encoded 128
characters and symbols using 7-bits. The first 32 characters
are control characters, that are based on obsolete teletype
requirements, so these characters are generally assigned to
other functions in modern usage.

In 1981, IBM introduced extended ASCII, which is an 8-


bit code and increased the character set to 256. Other
extended sets (such as Unicode) have been introduced to
handle characters in languages other than English.
Summary
Parity Method
The parity method is a method of error detection for
simple transmission errors involving one bit (or an odd
number of bits). A parity bit is an “extra” bit attached
to a group of bits to force the number of 1’s to be
either even (even parity) or odd (odd parity).
The ASCII character for “a” is 1100001 and for “A” is
1000001. What is the correct bit to append to make both
of these have odd parity?
The ASCII “a” has an odd number of bits that are equal to 1;
therefore the parity bit is 0. The ASCII “A” has an even
number of bits that are equal to 1; therefore the parity bit is
1.
Summary
Cyclic Redundancy Check
The cyclic redundancy check (CRC) is an error detection method
that can detect multiple errors in larger blocks of data. At the
sending end, a checksum is appended to a block of data. At the
receiving end, the check sum is generated and compared to the
sent checksum. If the check sums are the same, no error is
detected.
Selected Key Terms

Byte A group of eight bits


Floating- A number representation based on scientific
notation in which the number consists of
point
an exponent and a mantissa.
num
ber A number system with a base of 16.
Hexadecimal
Octal A number system with a base of 8.
Binary coded decimal; a digital code in which each
of the decimal digits, 0 through 9, is represented
BCD
by a group of four bits.
Selected Key Terms

Alphanumeric Consisting of numerals, letters, and


other characters
ASCII American Standard Code for Information
Interchange; the most widely used alphanumeric
code.
Parity In relation to binary codes, the condition of
evenness or oddness in the number of 1s in a code
group.
Cyclic A type of error detection code.
redundancy
check
(CRC)
1. For the binary number 1000, the weight of the column
with the 1 is
a. 4
b. 6
c. 8
d. 10
2. The 2’s complement of 1000 is
a. 0111
b. 1000
c. 1001
d. 1010
3. The fractional binary number 0.11 has a decimal value of
a. ¼
b. ½
c. ¾
d. none of the above
4. The hexadecimal number 2C has a decimal equivalent
value of
a. 14
b. 44
c. 64
d. none of the above
5. Assume that a floating point number is represented
in
binary. If the sign bit is 1, the
a. number is negative
b. number is positive
c. exponent is negative
d. exponent is positive
6.When two positive signed numbers are added, the result
may be larger that the size of the original numbers,
creating overflow. This condition is indicated by
a. a change in the sign bit
b. a carry out of the sign position
c. a zero result
d. smoke
7. The number 1010 in BCD is
a. equal to decimal eight
b. equal to decimal ten
c. equal to decimal twelve
d. invalid
8. An example of an unweighted code is
a. binary
b. decimal
c. BCD
d. Gray code
9. An example of an alphanumeric code is
a. hexadecimal
b. ASCII
c. BCD
d. CRC
10. An example of an error detection method for
transmitted data is the
a. parity check
b. CRC
c. both of the above
d. none of the above
Answers:

1. c 6. a

2. b 7. d

3. c 8. d

4. b 9. b

5. a 10.
c

You might also like