0% found this document useful (0 votes)
32 views

2 - Number System

Uploaded by

Ali Qasim
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views

2 - Number System

Uploaded by

Ali Qasim
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 51

Digital

Fundamentals
Tenth Edition

Floyd

Number Systems
and Codes

© 2008 Pearson Education


Floyd, Digital Fundamentals, 10th ed
In this chapter…

• Objectives
– Number systems (Decimal, Binary,
Hexadecimal)
– Conversions
– Arithmetic
– BCD
• Reading assignments
– Chapter2 p46 - p97

Floyd, Digital Fundamentals, 10th ed


Place Value System

• Decimal number system is a place value


system (or weighted number system)
– The value of a digit depends not only on the
digit itself, but also depends on its position
– 5858.58

• Non-Place value number systems


– Roman number system
MMXII = 2012
Floyd, Digital Fundamentals, 10th ed
Decimal Numbers

• The position of each digit in a weighted number system is


assigned a weight based on the base or radix.
• The radix of decimal numbers is ten.
• The 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 …

Floyd, Digital Fundamentals, 10th ed


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)

Floyd, Digital Fundamentals, 10th ed


Binary Numbers
• For digital systems, 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 2
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 …

Floyd, Digital Fundamentals, 10th ed


Decimal Binary
Number Number

Binary Numbers 0 000


0
• A binary counting sequence for numbers 1 000
from zero to fifteen is shown  1
2 001
• Notice the pattern of zeros and 0
ones in each column. 3 001
• Digital counters frequently have this 1
4 010
same pattern of digits: 0
Counter 0 1 0 1 0 1 0 1 0 1 Decoder
5 010
0 0 1 1 0 0 1 1 0 0
1
0 0 0 0 1 1 1 1 0 0
6 011
0
0 0 0 0 0 0 0 0 1 1
7 011
1
8 100
0 10
Floyd, Digital Fundamentals, th
ed
Binary to Decimal Conversions
The decimal equivalent of a binary number is determined by:
•Adding the column values of all of the “1” bits
•Discarding all of the “0” bits
Convert the binary number 100101.01 to decimal.
Start by writing the column weights; then add the
weights that correspond to each 1 in the number.
25 24 23 22 21 20. 2-1 2-2
32 16 8 4 2 1 . ½ ¼
1 0 0 1 0 1. 0 1
32 +4 +1 +¼ = 37¼

Floyd, Digital Fundamentals, 10th ed


Decimal to Binary Conversions
To convert decimal to binary:
•Write the decimal weight of each column
•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 2 5 2 4 2 3 2 2 21 2 0.
64 32 16 8 4 2 1. (49)10 = (110001)2
0 1 1 0 0 0 1.

Floyd, Digital Fundamentals, 10th ed


Decimal to Binary Conversions
Decimal fraction to binary conversion can be done 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.
MSB
0.188 x 2 = 0.376 carry = 0
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)

Floyd, Digital Fundamentals, 10th ed


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: remainder
1 1 0 0 0 1
0 1 3 6 12 24 49 2
Continue until the Decimal base
last quotient is 0 Quotient
number

Floyd, Digital Fundamentals, 10th ed


Binary to Decimal Conversions
Convert the decimal number 49 to binary by
repeatedly dividing by 2.
remainder

2 49 Quotient

2 24 ……..…1 LSB
Least Significant Bit
2 12 ……..…0
2 6 ……..…0
2 3 ……..…0
2 1 ……..…1 MSB
0 ……..…1 Most Significant Bit

Floyd, Digital Fundamentals, 10th ed


Binary Addition
The rules for binary addition are
0+0=0 Sum = 0, carry = 0
0+1=0 Sum = 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

Floyd, Digital Fundamentals, 10th ed


Binary Addition
Add the binary numbers 00111 and 10101 and show
the equivalent decimal addition.
0111
00111 7
10101 21
11100 = 28

Floyd, Digital Fundamentals, 10th ed


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
10101
/ / / 21
00111 7
01110 = 14

Floyd, Digital Fundamentals, 10th ed


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

Floyd, Digital Fundamentals, 10th ed


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 complement)
To form the 2’s complement, add 1: +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 1)
Output bits (sum)

0 0 1 1 0 1 1 0

Floyd, Digital Fundamentals, 10th ed


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)
•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

Floyd, Digital Fundamentals, 10th ed


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

Floyd, Digital Fundamentals, 10th ed


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.001 1101 1110 1001 0101 1100 0000 x 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 dropped.
In floating point notation, c = 0 10011011 001 1101 1110 1001 0101 1100

Floyd, Digital Fundamentals, 10th ed


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 1 11110111 = 9
Discard carry

Floyd, Digital Fundamentals, 10th ed


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:
01111101 = +125 10000001 = 127
01111011 = +123 10000001 = 127
11111000 = 16 Discard carry 100000010 = +2

Wrong! The answer is incorrect


and the sign bit has changed.

Floyd, Digital Fundamentals, 10th ed


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) 00001110 (+14) 11111111 (1)
 00001111 –(+15)  11101111 –(17)  11111000 –(8)
2’s complement subtrahend and add:
00011110 = +30 00001110 = +14 11111111 = 1
11110001 = 15 00010001 = +17 00001000 = 8
1 00001111 = +15 00011111 = +31 1 00000111 = +7
Discard carry Discard carry

Floyd, Digital Fundamentals, 10th ed


Decimal Hexadecimal Binary
Hexadecimal Numbers 0 0 0000
1 1 0001
Hexadecimal uses sixteen characters to 2 2 0010
represent numbers: the numbers 0 3 3 0011
4 4 0100
through 9 and the alphabetic characters 5 5 0101
A through F. 6 6 0110
7 7 0111
Large binary number can easily 8 8 1000
be converted to hexadecimal by 9 9 1001
grouping bits 4 at a time and writing 101 A 1010
112 B 1011
the equivalent hexadecimal character. 131 C 1100
Express 1001 0110 0000 11102 in 415 D 1101
E 1110
hexadecimal:
F 1111
Group the binary number by 4-bits
starting from the right. Thus, 960E
Floyd, Digital Fundamentals, 10th ed
Decimal Hexadecimal Binary
Hexadecimal Numbers 0 0 0000
1 1 0001
Hexadecimal is a weighted number 2 2 0010
3 3 0011
system. The column weights are 4 4 0100
powers of 16, which increase from 5 5 0101
right to left. 6 6 0110
7 7 0111
{
163 162 161 160.
Column weights 4096 256 16 1 .
8
9
8
9
1000
1001
101 A 1010
Express 1A2F16 in decimal. 112 B 1011
131 C 1100
Start by writing the column weights: 415 D 1101
4096 256 16 1 E 1110
1 A 2 F16 F 1111
1(4096) + 10(256) +2(16) +15(1) = 670310

Floyd, Digital Fundamentals, 10th ed


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 at 7 7 0111
a time and writing the equivalent octal 8 10 1000
character for each group. 9 11 1001
101 12 1010
Express 1 001 011 000 001 1102 in
112 13 1011
octal: 131 14 1100
Group the binary number by 3-bits 415 15 1101
starting from the right. Thus, 1130168 16 1110
17 1111

Floyd, Digital Fundamentals, 10th ed


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
{
83 8 2 8 1 8 0 .
Column weights 512 64 8 1 .
7
8
7
10
0111
1000
9 11 1001
Express 37028 in decimal. 101 12 1010
112 13 1011
Start by writing the column weights:
131 14 1100
512 64 8 1
415 15 1101
3 7 0 28
16 1110
3(512) + 7(64) +0(8) +2(1) = 198610 17 1111

Floyd, Digital Fundamentals, 10th ed


Decimal Binary BCD
BCD 0 0000 0000
1 0001 0001
Binary coded decimal (BCD) is a 2 0010 0010
weighted code that is commonly 3 0011 0011
used in digital systems when it is 4 0100 0100
5 0101 0101
necessary to show decimal 6 0110 0110
numbers such as in clock displays. 7 0111 0111
The table illustrates the 8 1000 1000
difference between straight binary and 9 1001 1001
BCD. BCD represents each decimal 101 1010 00010000
digit with a 4-bit code. Notice that the 112 1011 0001 0001
codes 1010 through 1111 are not used in 131 1100 0001 0010
BCD. 415 1101 0001 0011
1110 0001 0100
1111 0001 0101
Floyd, Digital Fundamentals, 10th ed
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

Floyd, Digital Fundamentals, 10th ed


BCD
A lab experiment in which BCD
is converted to decimal is shown.

Floyd, Digital Fundamentals, 10th ed


Decimal Binary Gray code
Gray code 0 0000 0000
1 0001 0001
Gray code is an unweighted code 2 0010 0011
that has a single bit change between 3 0011 0010
one code word and the next in a 4 0100 0110
5 0101 0111
sequence. Gray code is used to 6 0110 0101
avoid problems in systems where an 7 0111 0100
error can occur if more than one bit 8 1000 1100
changes at a time. 9 1001 1101
101 1010 1111
112 1011 1110
131 1100 1010
415 1101 1011
1110 1001
1111 1000
Floyd, Digital Fundamentals, 10th ed
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

Floyd, Digital Fundamentals, 10th ed


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.

Floyd, Digital Fundamentals, 10th ed


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.

Floyd, Digital Fundamentals, 10th ed


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.

Floyd, Digital Fundamentals, 10th ed


Floating Point Numbers
Floating point notation to represent very large or small numbers by
using scientific notation.
A 32-bit single precision number is illustrated.
S E (8 bits) F (23 bits)
Sign bit Biased exponent Significant digits 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.001 1101 1110 1001 0101 1100 0000 x 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 dropped. Bias
In floating point notation, c = 0 10011011 001 1101 1110 1001 0101 1100

Floyd, Digital Fundamentals, 10th ed


Floating Point Numbers

Floyd, Digital Fundamentals, 10th ed


Homework

6, 12, 14, 16, 18, 21, 22, 25, 28, 30 (a)


32, 38 (a, d), 41 (b), 42 (b), 44 (b, g),
46 (a, e, h)
50 (b, e, h), 52 (e, f), 60

Floyd, Digital Fundamentals, 10th ed


Selected Key Terms

Byte A group of eight bits


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

Floyd, Digital Fundamentals, 10th ed


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)
Floyd, Digital Fundamentals, 10th ed
1. For the binary number 1000, the weight of the column
with the 1 is
a. 4
b. 6
c. 8
d. 10

Floyd, Digital ©
Fundamentals, 10th ed
2008 Pearson Education
2. The 2’s complement of 1000 is
a. 0111
b. 1000
c. 1001
d. 1010

Floyd, Digital ©
Fundamentals, 10th ed
2008 Pearson Education
3. The fractional binary number 0.11 has a decimal value
of
a. ¼
b. ½
c. ¾
d. none of the above

Floyd, Digital ©
Fundamentals, 10th ed
2008 Pearson Education
4. The hexadecimal number 2C has a decimal equivalent
value of
a. 14
b. 44
c. 64
d. none of the above

Floyd, Digital ©
Fundamentals, 10th ed
2008 Pearson Education
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

Floyd, Digital ©
Fundamentals, 10th ed
2008 Pearson Education
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

Floyd, Digital ©
Fundamentals, 10th ed
2008 Pearson Education
7. The number 1010 in BCD is
a. equal to decimal eight
b. equal to decimal ten
c. equal to decimal twelve
d. invalid

Floyd, Digital ©
Fundamentals, 10th ed
2008 Pearson Education
8. An example of an unweighted code is
a. binary
b. decimal
c. BCD
d. Gray code

Floyd, Digital ©
Fundamentals, 10th ed
2008 Pearson Education
9. An example of an alphanumeric code is
a. hexadecimal
b. ASCII
c. BCD
d. CRC

Floyd, Digital ©
Fundamentals, 10th ed
2008 Pearson Education
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

Floyd, Digital ©
Fundamentals, 10th ed
2008 Pearson Education
Answers:
1. c 6. a
2. b 7. d
3. c 8. d
4. b 9. b
5. a 10. c

Floyd, Digital Fundamentals, 10th ed

You might also like