Data Representation in Computers
Data are stored in Registers
Registers are limited in number & size
With a n-bit register
Min value 0
Max value 2n-1
3
n-1 n-2 ...… ... 2 01
n-bits
4
Data Representation
Data
Representation
• Represents quality or
characteristics
• Not proportional to a
value
• Name, NIC no, index no,
Address
Qualitative
Quantitative
• Quantifiable
• Proportional to value α
• No of students, marks for
CS2052, GPA
Number Systems
Decimal number system
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Binary number system
0, 1
Octal number system
0, 1, 2, 3, 4, 5, 6, 7
Hexadecimal number system
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
6
Signed Integers
We need a way to represent negative values
3 representations
Sign & Magnitude representation (S&M)
Complement method
Bias notation or Excess notation
8
1. Sign & Magnitude Representation
n-bit unsigned magnitude & sign bit (S)
If S
0 – Integer is positive or zero
1 – Integer is negative or zero
Range –(2n-1) to +(2n-1)
9
sign n-1 ...n-2 ... 2 01
Magnitude (n-bits)
Example – Sign & Magnitude
If 8-bit register is used what are min & max
numbers?
What are 0000 0000 and 1000 0000 in decimal?
Representation of zero is not unique
10
Sign & Magnitude (Cont.)
Advantages
Sign reversal
Finding absolute value |a|
Flip sign bit
Disadvantage
Adding a negative of a number is not the same as
subtraction
e.g., add 2 and -3
Need different operations
Zero is not unique
11
2. Complement Method
Base = Radix
Radix r system means r number of symbols
e.g., binary numbers have symbols 0, 1
2 types
r’s complement
(r – 1)’s complement
Where r is radix (base) of number system
Examples
Decimal 9’s & 10’s complement
Binary 1’s & 2’s complement
12
Complement Method – Definition
Given a number m in base/radix r & having n
digits
(r – 1)’s complement of m is
(rn – 1) – m
r ’s complement of n is
(rn – 1) – m + 1 = rn – m
13
Example – Complement Method
If m = 5982 & n = 4 digits
9’s complement is
9 9 9 9 - maximum representable no
5 9 8 2 –
4 0 1 7
10’s complement
9 9 9 9 or 1 0 0 0 0
5 9 8 2 – 5 9 8 2 –
4 0 1 7 4 0 1 8
1 +
4 0 1 8
14
Example – Complement Method
If m = 382 & n = 3
-n = -382 =
9 9 9 9 9 9
3 8 2 – 3 8 2 -
6 1 7 6 1 7
1 +
6 1 8
-382 = 617 or 618
Depending on which complement we use
These are called complementary pair
15
1’s complement
Calculated by
(2n – 1) – m
If m = 0101
1’s complement of m on a 4-bit system
1 1 1 1
0 1 0 1 –
1 0 1 0
This represents -5 in 1’s complement
16
Finding 1’s Complement – Short Cut
Invert each bit of m
Example
m = 0 0 1 0 1 0 1 1
1’s complement of m = 1 1 0 1 0 1 0 0
m = 0 0 0 0 0 0 0 0 = 0
1’s complement of m = 1 1 1 1 1 1 1 1 = -0
Values range from -127 to +127
17
Addition with 1’s Complement
If results has a carry add it to LSB (Least
Significant Bit)
Example
Add 6 and -3 on a 3-bit system
6 = 1 1 0
-3 = 1 0 0 +
= 1 0 1 0
1 +
0 1 1
18
2’s Complement
Doesn’t require end-around carry operation as in
1’s complement
2’s complement is formed by
Finding 1’s complement
Add 1 to LSB
New range is from -128 to +127
-128 because of +1 to negative value
19
Example – 2’s Complement
Find 2’s complement of 0101011
m = 0 1 0 1 0 1 1
= 1 0 1 0 1 0 0
________ 1 +
2’s = 1 0 1 0 1 0 1
Short-cut
1. Search for the 1st bit with value 1 starting from LSB
2. Inver all bits after 1st one
20
Example – 2’s Complement (Cont.)
Add 6 and -5 on a 4-bit system
5 = 0101
-5 = 1011
6 = 0 1 1 0
-5 = 1 0 1 1+
1 0 0 0 1 0 0 0 1
21
Discard
1’s vs. 2’s Complement
1’s complement has 2 zeros (+0, -0)
Value range is less than 2’s complement
2’s complement only has a single zero
Value range is unequal
No need of a separate subtract circuit
Doing a NOT operation is much more cost effective
interms of circuit design
However, multiplication & division is slow
22
Detecting Negative Numbers &
Overflow
Check for MSB
To find magnitude
1’s complement
Flip all bits
2’s complement
Flip all bits + 1
Rules to detect overflows in 2’s complement
If sum of 2 positive numbers yields a negative result,
sum has overflowed
If sum of 2 negative numbers yields a positive result,
sum has overflowed
Else, no overflow 25
3. Bias Notation
Number range to be represented is given a
positive bias so that smallest unsigned value is
equal to -B
If bias is B
Value B in number range becomes zero
If bias is 127 for 8-bit number range is
-127 (0 - 127) to 128 (255 - 127) 26
n
i
i
i Bb
0
2
IEEE Floating Point Standard (Cont.)
E – 127 = e
E = e + 127
What is stored is E
31
s31 e30 ...… e23 … m0m1m22 …mn-2
MantissaExponent
127
2].1[)1(
Es
mN
Single Precision
23-bit mantissa
m ranges from 1 to (2 – 2-23 )
8-bit exponent
E ranges from 1 to 254
0 & 255 reserved to represent -∞, +∞, NaN
e ranges from -126 to +127
Maximum representable number
2 x 2127 = 2128
32
Review – Binary Fractions
What is 101.11012 in decimal?
22 x 1 + 21 x 0 + 20 x 1 + 2-1 x 1 + 2-2 x 1 + 2-3 x 0 + 2-4 x 1
= 4 x 1 + 2 x 0 + 1 x 1 + 0.5 x 1 + 0.25 x 1 + 0.125 x 0 + 0.0625 x 1
= 4 + 1 + 0.5 + 0.25 + 0.0625
= 5.8125
What is 5.812510 in binary?
Integer – 5 = 101
Fraction – Keep multiplying fraction until answer is 1
0.8125 x 2 = 1.625
0.625 x 2 = 1.25
0.25 x 2 = 0.5
0.5 x 2 = 1.0
0.812510 = .11012
33
Example – Single Precision
IEEE Single Precision Representation of 17.1510
Find 17.1510 in binary
17.1510 = 10001.00100112
= 1.00010010011 x 24
E = e + 127
E = 4 + 127 = 131
34
0 1000 0011 0001 0010 0110 0000 ……..
MantissaExponent
Character Representation
Belong to category of qualitative data
Represent quality or characteristics
Includes
Letters a-z, A-Z
Digits 0-9
Symbols !, @ , *, /, &, #, $
Control characters <CR>, <BEL>, <ESC>, <LF>
35
Character Representation (Cont.)
With a single byte (8-bits) 256 characters can be
represented
Standards
ASCII – American Standard Code for Information
Interchange
EBCDIC – Extended Binary-Coded Decimal
Interchange Code
Unicode
36
ASCII
De facto world-wide standard
Used to represent
Upper & lower-case Latin letters
Numbers
Punctuations
Control characters
There are 128 standard ASCII codes
Can be represented by a 7 digit binary number
000 0000 through 111 1111
Plus parity bit
37
ASCII – Things to Note
ASCII codes for digits aren’t equal to numeric
value
Uppercase & lowercase alphabetic codes differ
by 0x20
Shift key clears bit 5
0x20 = 32 = 0010 0000
Example:
A = 65 = 0100 0001
a = 97 = 0110 0001
Most languages need more than 128 characters
40
Unicode (www.unicode.org)
Designed to overcome limitation of number of
characters
Assigns unique character codes to characters in
a wide range of languages
A 16-bit character set
UCS-2
UCS-4 is 32-bit
65,536 (216) distinct Unicode characters
Unicode provides a unique number for every character,
no matter what the platform,
no matter what the program,
no matter what the language
41