Documente Academic
Documente Profesional
Documente Cultură
INTRODUCTION:
NUMBER SYSTEM AND BINARY
ARITHMETIC
1 11-Jan-18
Introduction
Computer users are often familiar with
computer operations that are non-arithmetic
such as:
Computer graphics,
Digital audio, or even
The manipulation of the computer mouse.
However, regardless of what kind of information
is being manipulated by the computer, the
information must be represented by patterns of
1’s and 0’s (i.e. “on-off” codes).
2 11-Jan-18
Introduction cont..,
This immediately raises the question of
how information should be described or
represented in the machine.
This is the data representation , or data
encoding.
Therefore, graphical images, digital audio,
or mouse clicks must all be encoded in a
systematic, agreed-upon manner.
3 11-Jan-18
Introduction cont..,
In all these cases, there are multiple
ways of encoding a given kind of data.
Some of these ways are useful in one
context while some are useful in another.
In the process of developing a data
representation for computing, a crucial
issue is deciding how much storage be
devoted to each data value.
4 11-Jan-18
Introduction cont..,
For example: a computer architect may decide
to treat integers as being 32 bits in size, and to
implement an ALU that supports arithmetic
operations on those 32-bit values that return 32
bit results.
Some numbers can be too large to represent
using 32 bits, however, and in other cases, the
operands may fit into 32 bits, but the result of a
computation will not, creating an overflow
condition.
5 11-Jan-18
Introduction cont..,
Therefore, its important to understand
the limits imposed on the accuracy and
range of numeric calculations by the
finite nature of the data representation.
6 11-Jan-18
Positional Numbering Systems
Radix (or Base): The general idea behind
positional numbering systems is that a numeric
value is represented through increasing powers
of a radix (or base).
7 11-Jan-18
Positional Numbering Systems cont…
8 11-Jan-18
Data Representation in Binary
A bit is the most basic unit of information in a
computer.
It is a state of “on” or “off” in a digital circuit.
Sometimes these states are “high” or “low” voltage
instead of “on” or “off..”
A byte is a group of eight bits.
A byte is the smallest possible addressable unit of
computer storage.
The term, “addressable,” means that a particular
byte can be retrieved according to its location in
memory.
9 11-Jan-18
Data Representation in Binary cont…
A word is a contiguous group of bytes.
Words can be any number of bits or bytes.
Word sizes of 16, 32, or 64 bits are most common.
In a word-addressable system, a word is the smallest
addressable unit of storage.
A group of four bits is called a nibble (or nybble).
Bytes, therefore, consist of two nibbles: a “high-order
nibble,” and a “low-order” nibble.
The nibble containing the least-valued binary digit is
called the low-order nibble, and the other half the high-
order nibble.
10 11-Jan-18
Data Representation in Binary cont…
Bytes store numbers using the position of each
bit to represent a power of 2.
The binary system is also called the base-2
system.
Our decimal system is the base-10 system. It
uses powers of 10 for each position in a
number.
Any integer quantity can be represented
exactly using any base (or radix).
11 11-Jan-18
Converting between bases
There are two important groups of number base
conversions:
1.Conversion of decimal numbers to base-r
numbers
2.Conversion of base-r numbers to decimal
numbers
There are two methods of converting between
bases:
1. Division-remainder method
2. Subtraction method
12 11-Jan-18
Converting Unsigned Whole Numbers
Example 1: Convert 104 to base 3 using the
division-remainder method.
3|104 2
3| 34 1
3| 11 2
3| 3 0
3|1 1
0
=10212
13 11-Jan-18
Converting between bases cont…
Example 2:Convert 147 to binary
2|147 1
2| 73 1
2|36 0
2|18 0
2|9 1
2|4 0
2|2 0
2|1 1
0
=10010011
14 11-Jan-18
Converting Fractions
Example 1:
(0.5625)10 (?) 2
• 0.5625 2 = 1.1250 Most significant
• 0.1250 2 = 0.2500
• 0.2500 2 = 0.5000
• 0.5000 2 = 1.0000 Least significant
(0.5625)10 (0.1001) 2
15 11-Jan-18
Converting Fractions cont…
Example 2: Convert 0.34375 to binary with
4 bits to the right of the binary point.
0.34375 × 2 =0.68750 MSB
0.68750 × 2 = 1.37500
1.37500 × 2 = 0.75000
0.75000× 2 =1.50000 LSB
=0.0101
16 11-Jan-18
Subtraction method
Suppose we want to convert the decimal
number 190 to base 3.
We know that 3 5 = 243 so our result will be
less than six digits wide.
The largest power of 3 that we need is
therefore 3 4 = 81, and 81 2 = 162.
Write down the 2 and subtract 162 from 190,
giving 28.
17 11-Jan-18
Subtraction method cont…
Converting 190 to base 3...
3 1 = 3 is again too large, so we assign a
zero placeholder.
The last power of 3, 3 0 = 1, is our last
choice, and it gives us a difference of
zero.
Our result, reading from top to bottom is:
19010 = 210013
18 11-Jan-18
Subtraction method cont…
19 11-Jan-18
Conversion from a system with base R to
Decimal
To convert a number from a system with base R to decimal we
replace R with the base of the system in the following expression:
n n-1 1 0
(dndn-1…d1d0)R = (dnXR )+ (dn-1XR ) + …+ (d1XR ) +( d0XR )
2 1 0
(214)5 = (2X5 )+(1X5 ) +(4X5 ) = (2X25)+(1X5)+(4X1)=50+5+4=
(59)10
(2021)3
3 2 1 0
=(2X3 )+(0X3 )+(2X3 )+(1X3 )=(2X27)+(2X3)+(1X1)=54+6+1=
(61)10
2 1 0
(13A)12 = (1X12 )+(3X12 )+(10X12 )=144+36+10=(190)10
1 0
(4C)18 = (4X18 )+(12X18 )=72+12=(84)10
(135)4 = Invalid. Digit 5 is greater than 4 which is the base of the
system.
20 11-Jan-18
Converting between Power-of-Two
Radices
Example 4:Convert 110010011101 to octal and
hexadecimal.
110 010 011 101 = 6235
Separate into groups of 3 for octal conversion
1100 1001 1101 = C9D16
Separate into groups of 4 for hexadecimal
conversion
21 11-Jan-18
Converting fractional numbers from binary
to hex and from hex to binary
The same principle with integer numbers applies: Group four bits
together, padding with zeros if necessary, but this time from left to
right, and convert its 4-bit group to its corresponding Hexadecimal
number and vice versa.
Examples:
(0.5A4C)16 (0.0101101001001100) 2
(3B.25)16 (00111011.00100101)2
23 11-Jan-18
SIGNED MAGNITUDE
A signed-magnitude number has a sign as its
left-most bit (also referred to as the high-
order bit or the most significant bit) while
the remaining bits represent the magnitude
(or absolute value) of the numeric value.
For example, in 8-bit signed magnitude,
positive 3 is:00000011
Negative 3 is:10000011
N’ bits can represent values from -(2N-1 -1) to +(2N-1 -1).
24 11-Jan-18
Signed magnitude cont…
Computers perform arithmetic operations
on signed magnitude numbers in much
the same way as humans carry out pencil
and paper arithmetic.
Humans often ignore the signs of the
operands while performing a
calculation, applying the appropriate
sign after the calculation is complete.
25 11-Jan-18
Signed magnitude cont…
Binary addition is as easy as it gets
The rules for binary addition:
0+0= 0 0+1= 1
1+0= 1 1 + 1 = 10
The simplicity of this system makes it
possible for digital circuits to carry out
arithmetic operations.
26 11-Jan-18
Signed magnitude cont…
Example 1:
Using signed magnitude binary arithmetic,
find the sum of 75 and 46.
First, convert 75 and 46 to binary, and arrange
as a sum, but separate the (positive) sign bits
from the magnitude bits.
27 11-Jan-18
Signed magnitude cont…
Example 2:
Using signed magnitude binary arithmetic, find the
sum of 107 and 46.
We see that the carry from the seventh bit overflows and
is discarded, giving us the erroneous result: 107 + 46 =
25.
28 11-Jan-18
Signed magnitude cont…
Example 3: Using signed magnitude binary
arithmetic, find the sum of - 46 and - 25.
29 11-Jan-18
Signed magnitude cont…
Signed magnitude representation is easy for
people to understand, but it requires
complicated computer hardware.
Another disadvantage of signed magnitude is
that it allows two different representations for
zero: positive zero and negative zero.
For these reasons computers systems employ
complement systems for numeric value
representation.
30 11-Jan-18
ONE’S COMPLEMENT
For example, in 8-bit one’s complement,
Positive 3 is: 00000011
Negative 3 is: 11111100
In one’s complement, as with signed magnitude,
negative values are indicated by a 1 in the high
order bit.
Complement systems are useful because they
eliminate the need for subtraction.
N-bits can represent values from; -(2N-1-1) to +(2N-
1 -1)
31 11-Jan-18
One’s complement cont…
With one’s complement addition, the carry bit is
“carried around” and added to the sum.
Example 1: Using one’s complement binary arithmetic,
find the sum of 48 and – 19
note that 19 in one’s complement is 00010011, so -19
in one’s complement is: 11101100.
32 11-Jan-18
One’s complement cont…
Although the “end carry around” adds
some complexity, one’s complement is
simpler to implement than signed
magnitude.
But it still has the disadvantage of having
two different representations for zero:
positive zero and negative zero.
Two’s complement solves this problem.
33 11-Jan-18
TWO’S COMPLEMENT
To express a value in two’s complement:
If the number is positive, just convert it
to binary and you’re done.
If the number is negative, find the one’s
complement of the number and then add
1.
34 11-Jan-18
Two’s complement cont…
Example:
In 8-bit one’s complement, positive 3 is:
00000011
Negative 3 in one’s complement is:
11111100
Adding 1 gives us -3 in two’s
complement form: 11111101.
N-bits number can represent values from: -2n-
1 to +(2n-1 -1)
35 11-Jan-18
Two’s complement cont…
With two’s complement arithmetic, all we do is
add our two binary numbers. Just discard any
carries emitting from the high order bit.
Example: Using two’s complement binary
arithmetic, find the sum of 48 and - 19.
36 11-Jan-18
Floating-point Representation
The signed magnitude, one’s complement,
and two’s complement representation that
we have just presented deal with integer
values only.
Without modification, these formats are not
useful in scientific or business applications
that deal with real number values.
Floating-point representation solves this
problem.
37 11-Jan-18
Floating-point Representation cont…
Floating-point numbers allow an
arbitrary number of decimal places to the
right of the decimal point.
For example: 0.5 0.25 = 0.125
They are often expressed in scientific
notation.
For example:
0.125 = 1.25 10-1
5,000,000 = 5.0 106
38 11-Jan-18
Floating-point Representation cont…
Floating-point numbers consist of three parts:
a sign bit,
an exponent part (representing the exponent on a
power of 2),
fractional part called a significand or it also called
mantissa).
39 11-Jan-18
The IEEE Floating-Point Standard
There are essentially two IEEE standard
floating-point formats.
These are the basic and the extended
formats.
In each of these, IEEE defines two
formats, that is, the single-precision and
the double-precision formats.
40 11-Jan-18
Single Precision standard
The IEEE-754 single precision floating
point standard uses an 8-bit exponent and
a 23-bit significand.
41 11-Jan-18
Double Precision Standard
The IEEE-754 double precision standard uses an
11-bit exponent and a 52-bit significand.
42 11-Jan-18
The significand of a floating-point number is
always preceded by an implied binary point.
Thus, the significand always contains a
fractional binary value.
The exponent indicates the power of 2 to which
the significand is raised.
43 11-Jan-18
Normalization
44 11-Jan-18
Representation of Floating Point Numbers
The exponent is a signed number represented using the
bias method with a bias 127
In radix 2, normalization corresponds to having a
fraction whose first bit (MSB) is 1.
The fraction represents a number less than 1, but the
significand of the floating point number is 1 plus the
fraction part
i.e. if ‘e’ is the biased exponent (value of exponent
field) and ‘f’ is the value of the fraction field
the number is represented as
1.f 2e-127
45 11-Jan-18
Representation of Floating Point Numbers cont…
Example 1: Represent the following number
0.12510 into a single-precision binary number.
Soln. Changing into binary
0.12510 = 0.0012
the number is +ve, then 0 for sign bit,
Normalizing = 1.0 2-3: 1.0 is the significand,
and from 1.f 2e-127; e – 127 = -3
then: e = -3+127 = 124 is the characteristic (i. e.
the biased exponent)
46 11-Jan-18
Representation of Floating Point Numbers cont…
0 01111100 00000000000000000000000
47 11-Jan-18
Representation of Floating Point Numbers cont…
Example 2: What single-precision number does the
following 32 bit word represent:
1 10000001 010000000000000000000002
Soln.: msb = 1 indicates –ve number
e = 100000012 = 27 + 20 = 129
hence 2e-127 = 2129-127 = 22
Fraction Part: Convert .012 into decimal = [0 21]
+ [1 22]
= 0.2510 making the significand of 1.25
Hence the number is – 1.25 22 = - 5
48 11-Jan-18
Character Codes
Calculations aren’t useful until their results can
be displayed in a manner that is meaningful to
people.
We also need to store the results of calculations,
and provide a means for data input.
Thus, human-understandable characters must
be converted to computer-understandable bit
patterns using some sort of character encoding
scheme.
49 11-Jan-18
Character Codes cont…
As computers have evolved, character codes
have evolved.
Larger computer memories and storage devices
permit richer character codes.
The earliest computer coding systems uses six
bits.
Binary-coded decimal (BCD) was one of these
early codes. It was used by IBM mainframes in
the 1950s and 1960s.
50 11-Jan-18
Binary-coded decimal(BCD)
Numbers can be represented in the base
10 number system while still using a
binary encoding.
Each base 10 digit occupies four bit
positions, which is known as binary
coded decimal (BCD).
Each BCD digit can take on any of 10
values.
51 11-Jan-18
Binary-coded decimal(BCD) cont…
Digit BCD
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
52 11-Jan-18
Binary-coded decimal(BCD) cont…
In this system, numbers are represented
in a decimal form, however each decimal
digit is encoded using a four bit binary
number.
For example: The decimal number 136
would be represented in BCD as follows:
136 = 0001 0011 0110
1 3 6
53 11-Jan-18
Binary-coded decimal(BCD) cont…
Conversion of numbers between decimal and
BCD is quite simple.
To convert from decimal to BCD, simply write
down the four bit binary pattern for each
decimal digit.
To convert from BCD to decimal, divide the
number into groups of 4 bits and write down
the corresponding decimal digit for each 4 bit
group.
54 11-Jan-18
Binary-coded decimal(BCD) cont…
Example 1: The following is a 16 bit
number encoded in packed BCD format:
0101011010010011
This is converted to a decimal number as
follows:
0101 0110 1001 0011
5 6 9 3
The value is 5693 decimal
55 11-Jan-18
Binary-coded decimal(BCD) cont…
Example 2. Give the BCD equivalent for the
decimal number 69.27.
Solution. The decimal number
6 9 2 7
BCD code is 0110 1001 0010 0111
Hence,
(69.27) = (01101001.00100111)BCD
10
56 11-Jan-18
Binary-coded decimal(BCD) cont…
There are a couple of variations on the BCD
representation, namely packed and unpacked.
An unpacked BCD number has only a single
decimal digit stored in each data byte.
In this case, the decimal digit will be in the low four
bits and the upper 4 bits of the byte will be 0.
In the packed BCD representation, two decimal
digits are placed in each byte.
Generally, the high order bits of the data byte
contain the more significant decimal digit.
57 11-Jan-18
Binary-coded decimal(BCD) cont…
An example: The following is a 16 bit
number encoded in packed BCD format:
01010110 10010011
This is converted to a decimal number as
follows:
0101 0110 1001 0011
5 6 9 3
The value is 5693 decimal
58 11-Jan-18
Binary-coded decimal(BCD) cont…
Another example: The same number in
unpacked BCD (requires 32 bits)
00000101 00000110 00001001 00000011
05 06 09 03
59 11-Jan-18
BCD Addition
In BCD representation each base 10 digit occupies
four bit positions.
Therefore addition is performed on a BCD digit by
BCD digit basis (not bit by bit), from right to left, as
we would normally carry it out by hand using a
decimal representation.
As an example consider adding (+255)10 and
(+63)10 in BCD representation.
60 11-Jan-18
BCD Addition
61 11-Jan-18