All physical
quantities that we deal with in our day-to-day lives can be represented
numerically in two ways; Analogue and Digital form.
Analogue1 expresses numerical values of quantities as a continuous range of values
between the two expected extreme values. For example, the temperature of an
oven settable anywhere from 0-1000C may be measured to be 650C,
64.960C, 64.9580C or even 64.95790C and so on,
depending upon the accuracy of the measuring instruments. Similarly, voltage
across a certain component in an electronic circuit may be measured as 6.5V or
6.4869V. The underlying concept in this
mode of representation is that variation in the numerical value of the quantity
is continuous and could have any infinite theoretically possible values between
the two extremes.
Digital2 on the other hand represents numerical values of the quantity in
steps of discrete values. The numerical values are mostly represented using
binary numbers. For example, the temperature of the oven may be represented in steps
of 10C as 640C, 650C, 660C and
so on.
All of
electronics are broadly divided into these two categories, one of the most
familiar examples of the difference between analogue and digital device is
depicted in a clock.
On analogue
clock, the time is represented by hands that spin around a dial and point to a
location on the dial that represents the appropriate time. On a digital clock,
a numeric display indicates the exact time.
In digital
electronics, quantities are counted rather than measured. There is an important
distinction between counting and measuring. When you count
something, you get exact result. When you measure something, you get an
appropriate result.
For an
illustration; lets consider a cake recipe that calls for 2 cups of flour, 1 cup
of milk, and 2 eggs. To get 2 cups of flour, you scoop some flour in a 1-cup
measuring cup, pour the flour into the bowl and then do it again. To get a cup
of milk, you pour milk into a liquid measuring cup until the top of the milk
lines up with the 1-cup line mark on the measuring cup and then pour the milk
into the mixing bowl. To get 2 eggs, you count out 2 eggs crack them open, and
add them to the mixing bowl.
The measurement
for flow and milk in the recipe are approximated. A teaspoon too much or too
little won’t affect the outcome. But the eggs are precisely counted exactly 2,
not 3, not 1 or 11/2, but 2. You can’t have a teaspoon
too many or too few of eggs. There are exactly two eggs because you count them.
This depict that digital circuits/system tends to be more accurate in
operations.
Table
1.1:
Analogue versus Digital Comparison chart
Analogue
|
Digital
|
|
Signal
|
Analogue signal is a continuous signal
which represents physical measurement
|
Digital signals are discrete time
signals, generated by digital modulation
|
Representation
|
Uses continuous ranges of values to
represent information
|
Uses discrete or discontinuous values to
represent information
|
Example
|
Human voices in air, analogue measuring
devices
|
Computers, CDs, DVDs, and other digital
electronic devices
|
Technology
|
Analogue technology records waveforms as
they are
|
Samples analogue waveforms into a limited
set of number and record them.
|
Data Transmissions
|
Subjected to deterioration by noise
during transmission and write/read cycle.
|
Can be noise-immune without deterioration
during transmission and write/read cycle.
|
Response to Noise
|
More likely to get affected reducing
accuracy
|
Less affected since noise response are
analogue in nature
|
Flexibility
|
Analogue hardware is not flexible
|
Digital hardware is flexible in
implementation
|
Uses
|
Can be used in analogue devices only.
Best suited for audio and video transmission.
|
Best suited for computing data storage
and processing.
|
Applications
|
Thermometer
|
Personal Computers(PCs) , Personal
Digital Assistant (PDA)
|
Memory
|
Stored in the form of wave signal
|
Stored in the form of binary bits
|
Power
|
Analogue Instrument draws large power
|
Digital instrument draws only negligible
power
|
Errors
|
Prone to considerable observation errors
|
Digital Instrument are free from
observation errors like parallax and approximation error.
|
1.2 Number Systems
Data has to be represented in meaningful
numbers before processing can be carried out on them by digital systems. Number
systems are simply ways to count things and its concept is a very
important topic in digital electronics as it discusses how data can be
represented in different number systems.
Different characteristics that define a
number system include;
i.
The number of independent
digits used in the number system,
ii.
The place value of the
different digits constituting the number,
iii.
The maximum number that can be
written with the given number of digits.
Among the three
characteristics parameters, the most fundamental is the number of independent
digits or symbols used in the number system. It is known as radix/base of the
system.
Let us start the
discussion on number system with the decimal
System which is most familiar to human but not important from the viewpoint
of digital electronics. Since it is the human that build and uses the computer,
we will briefly discuss the decimal
system and use its concept to explain the basic concept of other number
systems which are commonly employed in digital electronics such as the binary,
octal and hexadecimal number systems.
1.2.1
Decimal Number System
The decimal number system is a radix/base
ten (10) number system and thus has ten different digits or symbols. These
are; {“0”, “1”, “2”, “3”, “4”, “5”, “6”,
“7”, “8”, “9”}. All other numeric representation in decimal uses different
combinations of these ten symbols.
Place values of different digits in a mixed
number can be described as bellow;
Hundreds
|
Tens
|
Ones
|
Decimal point
|
Tenths
|
Hundredths
|
102
|
101
|
100
|
.
|
10-1
|
10-2
|
4
|
6
|
2
|
1
|
5
|
The value of this number is calculated as:
4*102
= 4*100 = 400
6*101 = 6*10
= 60
2*100 = 2*1
= 2
1*10-1 = 1*0.1 =
0. 1
5*10-2 = 5*0.01 = + 0. 0 5
462.15
1.2.2
Binary Number System
The binary number system is a radix/base
two (2) number system with symbol {0, 1} as the only two independent symbols.
Any numerical value can be represented in binary number system with
combinations of these two symbols.
e.g 210 ≡ (1 0)2, 310
≡ (1 1)2, 1510 ≡ (1 1 1 1)2 and so on.
The place value in digits in binary numbers
system is as described in the case of decimal; i.e.
As logic operation is the backbone of
digital electronics, although solving a problem on computer could involve
arithmetic operation too. Binary number system is advantageous in this context
by the introduction of mathematics of logic by George Boole that laid the
foundation for the modern digital computer. He reduced the mathematics of logic
to a binary notation of “0” and 1”.
As the mathematics of logic was well
established and had proved itself to be quite useful in solving all kinds of
logical problem, and also the mathematics of logic (also known as Boolean
algebra) had been reduced to a binary notation, the binary number system had a clear
edge over other number systems for use in computer systems.
Yet another significant advantage of this
number system was that all kinds of data could be conveniently represented in
terms of “0s” and “1s”. Also, basic electronic devices used for hardware
implementation could conveniently and efficiently be operated in two distinctly
different modes for example, a switch can be “off” or “on”, and a bipolar
transistor could be operated either in “cut-off” or in “saturation”.
Lastly on the advantages of binary number system, the circuit
required for performing arithmetic operation such as addition, subtraction,
multiplication, division, e.t.c., become a simple affair when the data involved
are represented in the form of “0’s” and “1’s” only.
Digits of data/values presented in a binary
system are called bits. For example 1
bit representation in binary can either be “0” or “1”. Data of four bits is known as a nibble e.g. “1010”, 8 bits of data is
called byte and depending of the
computer or digital system architecture 16-bit, 32-bit or 64-bit is called a word.
1.2.3
Octal Number System
The octal, or radix/base 8, number system
is a common system used with computers because of its relationship with the
binary system; it is useful in programming some types of computers.
Being a radix/base 8 number system it has
eight independent symbols to represent any value i.e. {“0”, “1”, “2”, “3”, “4”,
“5”, “6”, “7”}.
Place values of digits in the system are
similar to that of decimal and binary;
1.2.3
Hexadecimal Number System
One main disadvantage of binary number is
that the binary string equivalent of a large decimal (base 10) number can be
quite long. When working with large digital systems, such as computers. It is
common to find binary numbers consisting of 8, 16 and even 32 digits which
makes it difficult to both read and write without producing errors especially
when working with lots of 16 or 32-bit binary numbers.
One common way of overcoming this problem
is to arrange the binary numbers into groups or sets of four bits (4-bits).
These groups of 4-bits uses another type of numbering system also commonly used
in computer and digital system called Hexadecimal
Numbers.
The hexadecimal
or simple “Hex” numbering system is a radix/base 16 number system and thus
has 16 symbols to represent any variable value in the system, these symbols
are; {“0”, “1”, “2”, “3”, “4”, “5”, “6”, “7”, “8”, “9”, “A”, “B”, “C”, “D”,
“E”, “F”}.
Hex number system provides a condensed way
of representing large binary numbers store and processes them in the computer.
Example of this is in representing addresses of different memory locations.
For example, a machine having 63Kb of
memory has approximately (216 = 65536) memory locations and needs
65, 536 different addresses. These addresses can be designated as 0 – 65, 533
in the decimal number system and
00000000 00000000 – 11111111 11111111 in binary number system. Since the
decimal number system is not useable in computers and the binary number shown
here appears too cumbersome and inconvenient to handle.
In hexadecimal number system, the different
addresses described in the example can be expressed with four digits from 0000
– FFFF. This representation is simpler and a better option.
1.2.4
Conversion
from Other bases ( i.e. 2, 8, 16) to decimal
Representation of a number in different
radix/bases are said to be equivalent if they have the same decimal
representation.
For example, 00118 ≡ 10012,
because both are equivalent to 910.
The conversion of number from any base to decimal is done by expanding the
number in a power series and adding all the terms.
Binary-to-Decimal
Conversion
Converting a number from binary to decimal
is quite easy. All that is required is to find the decimal value of each binary
digit position and multiply with the digit i.e. “1” or “0” and add then up.
Let’s illustrate this with some examples;
Example 1;
Convert 101102 to decimal (i.e. base 10).
= 1*24 + 0*23 + 1*22 + 1* 21 + 0*20
= 16 + 0 + 4 + 2 + 0 = 2210
Example 2:
Convert 1101.0102 to decimal
= 1*23 + 1*22 + 0*21 + 1*20 + 0*2-1 + 1*2-2 + 0*2-3
= 8 + 4 + 0 + 1 + 0 + ¼ + 0 = 13
+ 0.25 = 13.2510
Octal-to-Decimal
Conversion
Similar to the steps carried out in
binary-to-decimal conversion, we can likewise convert an octal number to
decimal, let’s illustrate with examples.
Example 3:
Convert 17638 to decimal.
= 1*83 + 7*82 + 6*81
+ 3*80
=
512 + 448 + 48 + 3
=
101110
Example 4:
127.7328 to decimal
=
1*82 + 2*81 + 7*80 + 7*8-1 + 3*8-2
+2*8-3
= 64 + 16 + 7 + 7/8 + 3/64
+ 2/512
=
87 + 0.875 + 0.046875 + 0.0039
=
87 + 0.926 = 87.92610
Hexadecimal-to-Decimal
Conversion
Example 5: Convert F 1 A16 to
decimal
= 15*162
+ 1*161 + 10*160
=
3840 + 16 + 10 = 386610
Example 6:
Convert C28.F1A16 to decimal
=
12*162 + 2*161 + 8*160 + 15*16-1 +
1*16-2 + 10*16-3
=
3072 + 32 + 8 + 0.9375 + 0.0039 + 0.00244
=
3112.9438
1.2.5
Conversion from Decimal-to-binary
To convert decimal numbers to binary the
integer and fractional part are treated separately. For the integer parts the
binary equivalent can be found by successively dividing the integer part of the
number by 2 and recording the remainder until the quotient becomes “0”.
The remainder written in reverse order
constitute the binary equivalent.
For fractional part, it is found by
successively multiplying the fractional part of the decimal number by 2 and
recording the carry until the result of multiplication is ‘0’.
The carry sequence written in forward order
constitutes the binary equivalent of the fractional part of the decimal number.
If the result of multiplication does not seem to be heading towards zero in the
case of the fractional part, the process may be continued only until the
requisite number of equivalent bits has been obtained.
Example 7:
Convert
13.37510 to binary.
Integer part => 13
Divisor Dividend
Remainder
2
13
2 6 1
2 3 0
2 1 1
- 0 1
1
1 0 12
Note: That the answer (i.e. remainder) is read from down-up for the integer part, while answer (i.e. the carry) for the fractional part is read up-down.
Fractional part =>
0.375*2 = 0.75 C 0
0.75*2 =
1.5 C 1
0.5*2 =
1.0 C 1
0.011
Answer:
13.37510 = 1101.0112
Example 8:
Convert
41.687510 to binary.
Integer part => 41
Divisor Dividend Remainder
2
41 -
2
20 1
2
10 0
2
5 0
2
2 1
2
1 0
0 1
1010012
0.6875*2 = 1.375 C 1
0.375*2
= 0.75 C 0
0.75*2 =
1.5 C 1
0.5*2 =
1.0 C 1
Answer=>
101001.10112
The value of decimal number that can be
represented by N bits of binary is given by; 0 - (2N-1), that is,
for example, a 3 bit binary can only represent decimal number
0 -
(23 – 1) = 0 – (8-1) = 0 - 7
Decimal-to-Octal
Conversion
Converting decimal-to-octal is similar to that of decimal-to-binary conversion. The progressive division in the case
of the integer part and the progressive multiplication while working on the
fractional part will be by “8” which is the radix of the octal number system.
Example 9:
Convert 73.7510 to octal.
Fractional part
=> 0.75
0.75*8 = 6.0 C 6
= 6
73.7510 =
111.68
Example 10:
Convert 153.51310 to octal
Integer part => 153
Divisor Dividend Remainder
8 153 -
8 19 1
8 2 3
- 0 2
Fractional part => 0.513
0.513*8 =
4.104 C 4
0.104*8 =
0.832 C 0
0.832*8 =
6.656 C 6
0.656*8 =
5.248 C 5
0.248*8 =
1.948 C 1
0.948*8 =
7.872 C 7 ..
Answer: 153.51310 =>
231.406517…8
Decimal-to-Hexadecimal
Conversion
With the same procedure as described above,
we can convert decimal numbers to hexadecimal.
Example 11:
Convert 82.2510 to hexadecimal
Integer part => 82
Divisor Dividend
Remainder
16 82 -
16 5 2
- 0 5
0.25*16 = 4.0 C 4
0
0
Answer:
52.416
Binary-to-Octal
and Octal-to-binary
An octal number can be converted into its
binary equivalent by replacing each octal digit with its three bit binary
equivalent.
Decimal
|
Binary
|
0
|
000
|
1
|
001
|
2
|
010
|
3
|
011
|
4
|
100
|
5
|
101
|
6
|
110
|
7
|
111
|
Octal-to-Binary
Example 12:
Convert 374.268 to binary
3
7 4 .
2 6
(011 111 100 . 010 110)2
Example 13:
Convert 15.38 to binary
1 5
. 3
001 101 0112
Binary-to-Octal
Example 14:
Convert 1110100.0101102 to binary.
001 110
100 . 010 110
1 6
4 . 2 6
Answer:
1110100.0101102 =
164.268
Example 15:
Convert 10011100.012 to binary.
010
011 100 . 010
2
3 4 .
2
Answer: 10011100.012 = 234.28
Hexadecimal-to-binary
and Binary-to-Hexadecimal Conversion
Hexadecimal number can be converted into
its binary equivalent by replacing each hex digit with its four-bit binary
equivalent. We take the four-bit equivalent because the base of the hexadecimal
number system is 16 and it is the fourth power of the base of the binary number
system.
All we have then to remember is the
four-bit binary equivalents of the basic digits of the hexadecimal number
system. A given binary number can be converted into an equivalent hexadecimal
number by splitting the integer and fractional parts into groups of four-bits,
starting from the binary point on both sides. The ‘0s’ can be added to complete
the outside groups if needed.
Decimal
|
Binary
|
0
|
0000
|
1
|
0001
|
2
|
0010
|
3
|
0011
|
4
|
0100
|
5
|
0101
|
6
|
0110
|
7
|
0111
|
8
|
1000
|
9
|
1001
|
A
|
1010
|
B
|
1011
|
C
|
1100
|
D
|
1101
|
E
|
1110
|
F
|
1111
|
Hexadecimal-to-binary
Example 16:
Convert
17E.F616 to binary.
1 7
E . F
6
0001 0111 1110 1111 01102
Answer:
17E.F616 =
000101111110111101102
Example 17:
Convert
CC8.E16 to binary.
C C
8 . E
1100 1100 1000
11102
Answer: CC8.E16 =
1101101000.11102
Binary-to-Hexadecimal
Example 18:
Convert
1000011.10112 to hexadecimal.
0100 0011 . 1011
4 3
. B
Answer:
1000011.10112 = 43.B16
Example 19:
Convert
111000001. 00001102 to hexadecimal
0001 1100 0001 . 0000 1100
1
C 1 .
0 C
Answer:
1C1.0C16
Exercise
1
1.a List the octal and
hexadecimal numbers from 16 to 32. Using A, B, and C for the last three digits,
list the numbers from 8 to 30 in base 2 (binary).
b. What is the exact number of bits in a system
that contains (i.) 32K bytes (ii.) 64M bytes and (iii.) 3.2G bytes.
c. Convert the following numbers with the
indicated bases to decimal:
(i) (3723)8 (ii)
(10010)2 (ii)
(C23.FE)16
(iv.) (712.65)8
d. What is the largest binary number that can
be expressed with 24 bits? What are the equivalent decimal and hexadecimal
number?
e. Determine the base/radix of the numbers in
each case for the following operations to be correct:
(i) 29 + 17 = 40 (ii) 7 + 6
= 15 (iii) 67 + 24 = 113
f. Covert the hexadecimal number AD54 to
binary, and then convert it from binary to octal
g. Convert the decimal number 198 to binary in
two ways: (a) convert directly to binary; (b) convert first to hexadecimal and
then from hexadecimal to binary. Which method is faster?
h. Express the following numbers in decimal:
(i) (10110.0101)2 (ii)
(69.8)16 (ii) (73.65)
(iv) (1110.0101)2 (v)
(BEBE.C)16
Further Reading
1. Anil K.
Maini; Digital Electronics: Principles, Devices and Applications © 2007 John
Wiley & Sons. Ltd. ISBN: 978-0-470-03214-5.
2. M. Morris Mano and Michael D. Ciletti; Digital
Design with An Introduction to the Verilog HDL Fifth Edition. ISBN-
13:978-0-13-277420-8, ISBN-10:
0-13-277420-8.
3. https://www.utdallas.edu/~dodge/EE2310/lec2.pdf;
The University of Texas at Dallas, Erik Jonsson School of Engineering and
Computer Science.
4. http://www.ee.ic.ac.uk/pcheung/teaching/ee2_computing/NumSys2.pdf
4. http://www.ee.ic.ac.uk/pcheung/teaching/ee2_computing/NumSys2.pdf
No comments:
Post a Comment
Please drop your comment here, thanks.