0% found this document useful (0 votes)
13 views58 pages

Data Representation

This document discusses different ways of representing numbers in binary. It begins by covering unsigned integers which only store non-negative numbers using binary. It then discusses signed integers which use the sign-magnitude, one's complement, and two's complement methods to represent positive and negative numbers. Floating point numbers are also covered, which use a radix point to represent fractional values. The document explains how floating point numbers are stored according to the IEEE standard using three fields - a sign bit, exponent, and mantissa. The exponent is stored as an 8-bit number with a bias of 127 to represent powers of two.

Uploaded by

Thenula Hansaja
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views58 pages

Data Representation

This document discusses different ways of representing numbers in binary. It begins by covering unsigned integers which only store non-negative numbers using binary. It then discusses signed integers which use the sign-magnitude, one's complement, and two's complement methods to represent positive and negative numbers. Floating point numbers are also covered, which use a radix point to represent fractional values. The document explains how floating point numbers are stored according to the IEEE standard using three fields - a sign bit, exponent, and mantissa. The exponent is stored as an 8-bit number with a bias of 127 to represent powers of two.

Uploaded by

Thenula Hansaja
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 58

Representing Numbers

▪ Problems of number representation


➢ Positive and negative
➢ Radix point
➢ Range of representation

▪ Different ways to represent numbers


➢ Unsigned representation: non-negative
integers
➢ Signed representation: integers
➢ Floating-point representation: fractions
Unsigned Numbers
➢ Have 0 and 1 to represent numbers
➢ Only positive numbers stored in binary
➢ The Smallest binary number would be …

0 0 0 0 0 0 0 0 which equals to 0
➢ The largest binary number would be …

1 1 1 1 1 1 1 1 which equals ….
128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255 =
8
2 -1
Therefore the range is 0 - 255 (256 numbers)
Signed Numbers
Signed Numbers
◼ Until now we've been concentrating on unsigned
numbers. In real life we also need to be able
represent signed numbers ( like: -12, -45, +78).
◼ A signed number MUST have a sign (+/-). A method
is needed to represent the sign as part of the binary
representation.
◼ Two signed number representation methods are:
◼ Sign/magnitude representation
◼ Ones-complement representation
◼ Twos-complement representation
Sign/Magnitude
Representation

In sign/magnitude (S/M) representation, the


leftmost bit of a binary code represents the sign
of the value:

◼ 0 for positive,
◼ 1 for negative;

The remaining bits represent the numeric value.


Sign/Magnitude
Representation
To compute negative values using
Sign/Magnitude (S/M) representation:

1) Begin with the binary representation of the


positive value

2) Then flip the leftmost zero bit.


Sign/Magnitude
Representation
Ex 1. Find the S/M representation of -610
Step 1: Find binary representation using 8 bits
610 = 000001102
Step 2: If the number you want to represent is
negative, flip leftmost bit
10000110

So: -610 = 100001102


(in 8-bit sign/magnitude form)
E.g. 5–3
= 5 + (-3)
= 00000101+10000011
= 10001000
= -8
1’s Compliment Number
Representation
◼ The leftmost bit STILL serves as a sign bit:
◼ 0 for positive numbers,
◼ 1 for negative numbers.

1) Begin with the binary representation of


the positive value
2) Complement (flip each bit -- if it is 0
make it 1 and visa versa) the entire
positive number
Questions
◼ (+55) +(-22) ◼ (+85) +(-15)
◼ (+45) +(-35) ◼ (+16) +(-9)
◼ (+10) +(-08) ◼ (+56) +(-24)
◼ (+36) +(-25) ◼ (+57) +(-25)
◼ (+71) +(-66) ◼ (+45) +(-38)
◼ (+48) +(-23) ◼ (+75) +(-63)
◼ (+16) +(-12) ◼ (+28) +(-21)
Questions
◼ (-10) + (-10)
◼ (+8) + (-12)
◼ (-13) + (+7)
◼ (-2) + (-9)
◼ (-16) + (+5)
◼ (-16) + (-9)
Two’s Complement
Representation

◼ Another method used to represent negative


numbers (used by most modern computers)
is two’s complement.

◼ The leftmost bit STILL serves as a sign bit:


◼ 0 for positive numbers,
◼ 1 for negative numbers.
Two’s Complement
Representation
To compute negative values using Two’s
Complement representation:

1) Begin with the binary representation of the


positive value
2) Complement (flip each bit -- if it is 0 make it
1 and visa versa) the entire positive
number
3) Then add one.
Valid Ranges
◼ For any integer data representation,
there is a LIMIT to the size of number
that can be stored.

◼ The limit depends upon number of bits


available for data storage.
Unsigned Integer Ranges
Range = 0 to (2n – 1)
where n is the number of bits used to store
the unsigned integer.

Numbers with values GREATER than (2n – 1)


would require more bits. If you try to store
too large a value without using more bits,
OVERFLOW will occur.
Two’s Complement Ranges
Range = -2(n-1) to +(2(n-1) – 1)
where n is the number of bits used to store the
two-s complement signed integer.

Numbers with values GREATER than +(2(n-1) – 1)


and values LESS than -2(n-1) would require
more bits. If you try to store too large/too small
a value without using more bits, OVERFLOW
will occur.
Two’s Complement Ranges
Example: On a system that stores unsigned
integers in 16-bit words:

Range = -215 to +(215 – 1)


= -32768 to +32767

Therefore, you cannot store numbers larger


than 32767 or smaller than -32768 in 16 bits.
Floating Point
Numbers
Floating Point Numbers
◼ Now you've seen unsigned and signed
integers. In real life we also need to be able
represent numbers with fractional parts (like: -
12.5 & 45.39).

▪ Called Floating Point numbers.


Floating Point Numbers
◼ In the decimal system, a decimal point
(radix point) separates the whole
numbers from the fractional part
◼ Examples:
37.25 ( whole = 37, fraction = 25/100)
123.567
10.12345678
Floating Point Numbers
For example, 37.25 can be analyzed as:

101 100 10-1 10-2


Tens Units Tenths Hundredths
3 7 2 5

37.25 = (3 x 10) + (7 x 1) + (2 x 1/10) + (5 x 1/100)


Binary Equivalence
The binary equivalent of a floating point number
can be determined by computing the binary
representation for each part separately.
1) For the whole part:
Use subtraction or division method
previously learned.
2) For the fractional part:
Use the subtraction or multiplication
method (to be shown next)
Fractional Part – Multiplication Method

In the binary representation of a floating point


number the column values will be as follows:

… 25 24 23 22 21 20 . 2-1 2-2 2-3 2-4 …


… 32 16 8 4 2 1 . 1/2 1/4 1/8 1/16…
… 32 16 8 4 2 1 . .5 .25 .125 .0625…
Fractional Part – Multiplication Method
Ex 1. Find the binary equivalent of 0.25
Step 1: Multiply the fraction by 2 until the fractional
part becomes 0 .25
x2
0.5
x2
1.0
Step 2: Collect the whole parts in forward order. Put
them after the radix point
. .5 .25 .125 .0625
. 0 1
Fractional Part – Multiplication Method
Ex 2. Find the binary equivalent of 0.625
Step 1: Multiply the fraction by 2 until the fractional
part becomes 0 .625
x 2
1.25
x 2
0.50
Step 2: Collect the whole parts in x 2
forward order. Put them after the 1.0
radix point
. .5 .25 .125 .0625
. 1 0 1
Fractional Part – Subtraction Method

Start with the column values again, as follows:

… 20 . 2-1 2-2 2-3 2-4 2-5 2-6…


… 1 . 1/2 1/4 1/8 1/16 1/32 1/64…
… 1 . .5 .25 .125 .0625 .03125 .015625…
Fractional Part – Subtraction Method
Starting with 0.5, subtract the column values
from left to right. Insert a 0 in the column if
the value cannot be subtracted or 1 if it can
be. Continue until the fraction becomes .0

Ex 1.

.25 .5 .25 .125 .0625


- .25 .0 1
.0
Binary Equivalent of FP
number
Ex 2. Convert 37.25, using subtraction method.
64 32 16 8 4 2 1 . .5 .25 .125 .0625
26 25 24 23 22 21 20 . 2-1 2-2 2-3 2-4
1 0 0 1 0 1. 0 1
37 .25
- 32 - .25
5 .0
-4
1
-1 37.2510 = 100101.012
0
Binary Equivalent of FP
number
Ex 3. Convert 18.625, using subtraction method.
64 32 16 8 4 2 1 . .5 .25 .125 .0625
26 25 24 23 22 21 20 . 2-1 2-2 2-3 2-4
1 0 0 1 0 1 0 1

18 .625
- 16 - .5
2 .125
- 2 - .125
0 0
18.62510 = 10010.1012
Problem storing binary form

◼ We have no way to store the radix point!

◼ Standards committee came up with a way


to store floating point numbers (that have
a decimal point)
IEEE Floating Point Representation

◼ Floating point numbers can be stored into 32-


bits, by dividing the bits into three parts:
the sign, the exponent, and the mantissa.

1 2 9 10 32
IEEE Floating Point Representation

◼ The first (leftmost) field of our floating


point representation will STILL be the
sign bit:

◼ 0 for a positive number,


◼ 1 for a negative number.
Storing the Binary Form
How do we store a radix point?
- All we have are zeros and ones…

Make sure that the radix point is ALWAYS in


the same position within the number.

Use the IEEE 32-bit standard


→ the leftmost digit must be a 1
Every binary number, except the one
corresponding to the number zero, can be
normalized by choosing the exponent so that the
radix point falls to the right of the leftmost 1 bit.

37.2510 = 100101.012 = 1.0010101 x 25

7.62510 = 111.1012 = 1.11101 x 22

0.312510 = 0.01012 = 1.01 x 2-2


IEEE Floating Point Representation

◼ The second field of the floating point number


will be the exponent.
◼ The exponent is stored as an unsigned 8-bit
number, RELATIVE to a bias of 127.
◼ Exponent 5 is stored as (127 + 5) or 132
◼ 132 = 10000100
◼ Exponent -5 is stored as (127 + (-5)) or 122
◼ 122 = 01111010
Try It Yourself

How would the following exponents be


stored (8-bits, 127-biased):

2-10

28
(Answers on next slide)
Answers
2-10
exponent -10 8-bit
bias +127 value
117 → 01110101
28
exponent 8 8-bit
bias +127 value
135 → 10000111
IEEE Floating Point Representation
◼ The mantissa is the set of 0’s and 1’s to
the right of the radix point of the
normalized (when the digit to the left of the
radix point is 1) binary number.
Ex: 1.00101 X 23
(The mantissa is 00101)

▪ The mantissa is stored in a 23 bit field, so


we add zeros to the right side and store:
00101000000000000000000
Decimal Floating Point to
IEEE standard Conversion

Ex 1: Find the IEEE FP representation of


40.15625

Step 1.
Compute the binary equivalent of the
whole part and the fractional part. (i.e.
convert 40 and .15625 to their binary
equivalents)
Decimal Floating Point to
IEEE standard Conversion
40 .15625
- 32 Result: -.12500 Result:
8 101000 .03125 .00101
- 8 -.03125
0 .0

So: 40.1562510 = 101000.001012


Decimal Floating Point to
IEEE standard Conversion

Step 2. Normalize the number by moving the


decimal point to the right of the leftmost one.

101000.00101 = 1.0100000101 x 25
Decimal Floating Point to
IEEE standard Conversion

Step 3. Convert the exponent to a biased


exponent

127 + 5 = 132

And convert biased exponent to 8-bit unsigned


binary:

13210 = 100001002
Decimal Floating Point to
IEEE standard Conversion

Step 4. Store the results from steps 1-3:

Sign Exponent Mantissa


(from step 3) (from step 2)

0 10000100 01000001010000000000000
Decimal Floating Point to
IEEE standard Conversion
Ex 2: Find the IEEE FP representation of –24.75
Step 1. Compute the binary equivalent of the whole
part and the fractional part.

24 .75
- 16 Result: - .50 Result:
8 11000 .25 .11
- 8 - .25
0 .0
So: -24.7510 = -11000.112
Decimal Floating Point to
IEEE standard Conversion

Step 2.
Normalize the number by moving the decimal
point to the right of the leftmost one.

-11000.11 = -1.100011 x 24
Decimal Floating Point to
IEEE standard Conversion.

Step 3. Convert the exponent to a biased


exponent
127 + 4 = 131
==> 13110 = 100000112

Step 4. Store the results from steps 1-3

Sign Exponent mantissa


1 10000011 1000110..0
IEEE standard to Decimal
Floating Point Conversion.

◼ Do the steps in reverse order

◼ In reversing the normalization step move the


radix point the number of digits equal to the
exponent:
◼ If exponent is positive, move to the right

◼ If exponent is negative, move to the left


IEEE standard to Decimal
Floating Point Conversion.

Ex 1: Convert the following 32-bit binary


number to its decimal floating point
equivalent:

Sign Exponent Mantissa

1 01111101 010..0
IEEE standard to Decimal
Floating Point Conversion..

Step 1: Extract the biased exponent and unbias


it

Biased exponent = 011111012 = 12510

Unbiased Exponent: 125 – 127 = -2


IEEE standard to Decimal
Floating Point Conversion..

Step 2: Write Normalized number in the form:


Exponent
----
1 . ____________
Mantissa x 2

For our number:


-1. 01 x 2 –2
IEEE standard to Decimal
Floating Point Conversion.

Step 3: Denormalize the binary number from step 2


(i.e. move the decimal and get rid of (x 2n) part):
-0.01012 (negative exponent – move left)

Step 4: Convert binary number to the FP equivalent


(i.e. Add all column values with 1s in them)

-0.01012 = - ( 0.25 + 0.0625)

= -0.312510
IEEE standard to Decimal
Floating Point Conversion.

Ex 2: Convert the following 32 bit binary


number to its decimal floating point
equivalent:

Sign Exponent Mantissa


0 10000011 10011000..0
IEEE standard to Decimal
Floating Point Conversion..

Step 1: Extract the biased exponent and unbias


it

Biased exponent = 10000112 = 13110

Unbiased Exponent: 131 – 127 = 4


IEEE standard to Decimal
Floating Point Conversion..

Step 2: Write Normalized number in the form:

Exponent
1 . ____________
Mantissa x 2 ----

For our number:


1.10011 x 2 4
IEEE standard to Decimal
Floating Point Conversion.
Step 3: Denormalize the binary number from step 2
(i.e. move the decimal and get rid of (x 2n) part:
11001.12 (positive exponent – move right)

Step 4: Convert binary number to the FP equivalent


(i.e. Add all column values with 1s in them)
11001.1 = 16 + 8 + 1 +.5

= 25.510
000 001 010 011 100 101 110 111
0000 NULL DLE 0 @ P ` p
0001 SOH DC1 ! 1 A Q a q
0010 STX DC2 " 2 B R b r
0011 ETX DC3 # 3 C S c s
0100 EDT DC4 $ 4 D T d t
0101 ENQ NAK % 5 E U e u
0110 ACK SYN & 6 F V f v
0111 BEL ETB ' 7 G W g w
1000 BS CAN ( 8 H X h x
1001 HT EM ) 9 I Y i y
1010 LF SUB * : J Z j z
1011 VT ESC + ; K [ k {
1100 FF FS , < L \ l |
1101 CR GS - = M ] m }
1110 SO RS . > N ^ n ~
1111 SI US / ? O _ o DEL

You might also like