Data representation : Data representation
Slide 2 : DATA REPRESENTATION Data Types
Complements
Fixed Point Representations
Floating Point Representations
Other Binary Codes
Error Detection Codes
Slide 3 : DATA REPRESENTATION Information that a Computer is dealing with
* Data
- Numeric Data
Numbers( Integer, real)
- Non-numeric Data
Letters, Symbols
* Relationship between data elements
- Data Structures
Linear Lists, Trees, Rings, etc
* Program(Instruction) Data Types
Slide 4 : NUMERIC DATA REPRESENTATION R = 10 Decimal number system, R = 2 Binary
R = 8 Octal, R = 16 Hexadecimal Radix point(.) separates the integer
portion and the fractional portion Data
Numeric data - numbers(integer, real)
Non-numeric data - symbols, letters
Number System
Nonpositional number system
- Roman number system
Positional number system
- Each digit position has a value called a weight associated with it
- Decimal, Octal, Hexadecimal, Binary
Base (or radix) R number
- Uses R distinct symbols for each digit
- Example AR = an-1 an-2 ... a1 a0 .a-1…a-m
- V(AR ) = Data Types
Slide 5 : WHY POSITIONAL NUMBER SYSTEM IN DIGITAL COMPUTERS ? Major Consideration is the COST and TIME
- Cost of building hardware
Arithmetic and Logic Unit, CPU, Communications
- Time to processing
Arithmetic - Addition of Numbers - Table for Addition
* Non-positional Number System
- Table for addition is infinite
--> Impossible to build, very expensive even
if it can be built
* Positional Number System
- Table for Addition is finite
--> Physically realizable, but cost wise
the smaller the table size, the less
expensive --> Binary is favorable to Decimal 0 1 0 0 1
1 1 10 0 1 2 3 4 5 6 7 8 9 0 0 1 2 3 4 5 6 7 8 9
1 1 2 3 4 5 6 7 8 9 10
2 2 3 4 5 6 7 8 9 1011
3 3 4 5 6 7 8 9 101112
4 4 5 6 7 8 9 10111213
5 5 6 7 8 9 1011121314
6 6 7 8 9 101112131415
7 7 8 9 10111213141516
8 8 9 1011121314151617
9 9 101112131415161718 Binary Addition Table Decimal Addition Table Data Types
Slide 6 : REPRESENTATION OF NUMBERS - POSITIONAL NUMBERS Decimal Binary Octal Hexadecimal
00 0000 00 0
01 0001 01 1
02 0010 02 2
03 0011 03 3
04 0100 04 4
05 0101 05 5
06 0110 06 6
07 0111 07 7
08 1000 10 8
09 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F Binary, octal, and hexadecimal conversion 1 0 1 0 1 1 1 1 0 1 1 0 0 0 1 1 1 2 7 5 4 3 A F 6 3 Octal Binary Hexa Data Types
Slide 7 : CONVERSION OF BASES Decimal to Base R number Base R to Decimal Conversion V(A) = ak Rk A = an-1 an-2 an-3 … a0 . a-1 … a-m (736.4)8 = 7 x 82 + 3 x 81 + 6 x 80 + 4 x 8-1
= 7 x 64 + 3 x 8 + 6 x 1 + 4/8 = (478.5)10 (110110)2 = ... = (54)10
(110.111)2 = ... = (6.785)10
(F3)16 = ... = (243)10
(0.325)6 = ... = (0.578703703 .................)10 - Separate the number into its integer and fraction parts and convert each part separately.
- Convert integer part into the base R number
→ successive divisions by R and accumulation of the remainders.
- Convert fraction part into the base R number
→ successive multiplications by R and accumulation of integer digits Data Types
Slide 8 : EXAMPLE Convert 41.687510 to base 2. Integer = 41
41
20 1
10 0
5 0
2 1
1 0
0 1 Fraction = 0.6875
0.6875
x 2
1.3750
x 2
0.7500
x 2
1.5000
x 2
1.0000 (41)10 = (101001)2 (0.6875)10 = (0.1011)2 (41.6875)10 = (101001.1011)2 Convert (63)10 to base 5: (223)5
Convert (1863)10 to base 8: (3507)8
Convert (0.63671875)10 to hexadecimal: (0.A3)16 Exercise Data Types
Slide 9 : COMPLEMENT OF NUMBERS Two types of complements for base R number system:
- R's complement and (R-1)'s complement The (R-1)'s Complement
Subtract each digit of a number from (R-1)
Example
- 9's complement of 83510 is 16410
- 1's complement of 10102 is 01012(bit by bit complement operation)
The R's Complement
Add 1 to the low-order digit of its (R-1)'s complement Example
- 10's complement of 83510 is 16410 + 1 = 16510
- 2's complement of 10102 is 01012 + 1 = 01102 Complements
Slide 10 : FIXED POINT NUMBERS Binary Fixed-Point Representation
X = xnxn-1xn-2 ... x1x0. x-1x-2 ... x-m
Sign Bit(xn): 0 for positive - 1 for negative
Remaining Bits(xn-1xn-2 ... x1x0. x-1x-2 ... x-m) Numbers: Fixed Point Numbers and Floating Point Numbers Fixed Point Representations
Slide 11 : SIGNED NUMBERS Signed magnitude representation
Signed 1's complement representation
Signed 2's complement representation Example: Represent +9 and -9 in 7 bit-binary number
Only one way to represent +9 ==> 0 001001
Three different ways to represent -9:
In signed-magnitude: 1 001001
In signed-1's complement: 1 110110
In signed-2's complement: 1 110111 In general, in computers, fixed point numbers are represented
either integer part only or fractional part only. Need to be able to represent both positive and negative numbers
- Following 3 representations
Slide 12 : CHARACTERISTICS OF 3 DIFFERENT REPRESENTATIONS Complement
Signed magnitude: Complement only the sign bit
Signed 1's complement: Complement all the bits including sign bit
Signed 2's complement: Take the 2's complement of the number,
including its sign bit. Maximum and Minimum Representable Numbers and Representation of Zero X = xn xn-1 ... x0 . x-1 ... x-m Signed Magnitude
Max: 2n - 2-m 011 ... 11.11 ... 1
Min: -(2n - 2-m) 111 ... 11.11 ... 1
Zero: +0 000 ... 00.00 ... 0
-0 100 ... 00.00 ... 0
Signed 1’s Complement
Max: 2n - 2-m 011 ... 11.11 ... 1
Min: -(2n - 2-m) 100 ... 00.00 ... 0
Zero: +0 000 ... 00.00 ... 0
-0 111 ... 11.11 ... 1 Fixed Point Representations Signed 2’s Complement
Max: 2n - 2-m 011 ... 11.11 ... 1
Min: -2n 100 ... 00.00 ... 0
Zero: 0 000 ... 00.00 ... 0
Slide 13 : 2’s COMPLEMENT REPRESENTATION WEIGHTS Signed 2’s complement representation follows a “weight” scheme similar to that of unsigned numbers
Sign bit has negative weight
Other bits have regular weights X = xn xn-1 ... x0
Slide 14 : ARITHMETIC ADDITION: SIGNED MAGNITUDE [1] Compare their signs
[2] If two signs are the same ,
ADD the two magnitudes - Look out for an overflow
[3] If not the same , compare the relative magnitudes of the numbers and
then SUBTRACT the smaller from the larger --> need a subtractor to add
[4] Determine the sign of the result 6 0110
+) 9 1001
15 1111 -> 01111 9 1001
- ) 6 0110
3 0011 -> 00011 9 1001
-) 6 0110
- 3 0011 -> 10011 6 0110
+) 9 1001
-15 1111 -> 11111 6 + 9 -6 + 9 6 + (- 9) -6 + (-9) Overflow 9 + 9 or (-9) + (-9) 9 1001
+) 9 1001
(1)0010 overflow Fixed Point Representations
Slide 15 : ARITHMETIC ADDITION: SIGNED 2’s COMPLEMENT Example 6 0 0110
9 0 1001
15 0 1111 -6 1 1010
9 0 1001
3 0 0011 6 0 0110
-9 1 0111
-3 1 1101 -9 1 0111
-9 1 0111
-18 (1)0 1110 Add the two numbers, including their sign bit, and discard any carry out of leftmost (sign) bit - Look out for an overflow overflow 9 0 1001
9 0 1001 +) +) +) +) +) 18 1 0010 2 operands have the same sign
and the result sign changes
xn-1yn-1s’n-1 + x’n-1y’n-1sn-1 = cn-1 cn x’n-1y’n-1sn-1
(cn-1 cn) xn-1yn s’n-1
(cn-1 cn) Fixed Point Representations
Slide 16 : ARITHMETIC ADDITION: SIGNED 1’s COMPLEMENT Add the two numbers, including their sign bits.
- If there is a carry out of the most significant (sign) bit, the result is
incremented by 1 and the carry is discarded. 6 0 0110
-9 1 0110
-3 1 1100 -6 1 1001
9 0 1001
(1) 0(1)0010
1
3 0 0011 +) +) +) end-around carry -9 1 0110
-9 1 0110
(1)0 1100
1
0 1101 +) +) 9 0 1001
9 0 1001
1 (1)0010 +) overflow Example not overflow (cn-1 cn) = 0 (cn-1 cn) Fixed Point Representations
Slide 17 : COMPARISON OF REPRESENTATIONS * Easiness of negative conversion
S + M > 1’s Complement > 2’s Complement
* Hardware
- S+M: Needs an adder and a subtractor for Addition
- 1’s and 2’s Complement: Need only an adder
* Speed of Arithmetic
2’s Complement > 1’s Complement(end-around C)
* Recognition of Zero
2’s Complement is fast Fixed Point Representations
Slide 18 : ARITHMETIC SUBTRACTION Take the complement of the subtrahend (including the sign bit)
and add it to the minuend including the sign bits. ( A ) - ( - B ) = ( A ) + B
( A ) - B = ( A ) + ( - B ) Fixed Point Representations Arithmetic Subtraction in 2’s complement
Slide 19 : FLOATING POINT NUMBER REPRESENTATION * The location of the fractional point is not fixed to a certain location
* The range of the representable numbers is wide
F = EM
mn ekek-1 ... e0 mn-1mn-2 … m0 . m-1 … m-m sign exponent mantissa
- Mantissa
Signed fixed point number, either an integer or a fractional number
- Exponent
Designates the position of the radix point Decimal Value
V(F) = V(M) * RV(E) M: Mantissa
E: Exponent
R: Radix Floating Point Representation
Slide 20 : FLOATING POINT NUMBERS 0 .1234567 0 04 sign sign mantissa exponent ==> +.1234567 x 10+04 Example
A binary number +1001.11 in 16-bit floating point number representation
(6-bit exponent and 10-bit fractional mantissa) 0 0 00100 100111000
0 0 00101 010011100 Example Note:
In Floating Point Number representation, only Mantissa(M) and
Exponent(E) are explicitly represented. The Radix(R) and the position
of the Radix Point are implied. Exponent Mantissa Sign or Floating Point Representation
Slide 21 : CHARACTERISTICS OF FLOATING POINT NUMBER REPRESENTATIONS Normal Form
- There are many different floating point number representations of
the same number
→ Need for a unified representation in a given computer
- the most significant position of the mantissa contains a non-zero digit Representation of Zero
- Zero
Mantissa = 0
- Real Zero
Mantissa = 0
Exponent
= smallest representable number
which is represented as
00 ... 0
Easily identified by the hardware Floating Point Representation
Slide 22 : INTERNAL REPRESENTATION AND EXTERNAL REPRESENTATION
Slide 23 : EXTERNAL REPRESENTATION Decimal BCD Code
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001 Numbers
Most of numbers stored in the computer are eventually changed
by some kinds of calculations
→ Internal Representation for calculation efficiency
→ Final results need to be converted to as External Representation
for presentability
Alphabets, Symbols, and some Numbers
Elements of these information do not change in the course of processing
→ No needs for Internal Representation since they are not used
for calculations
→ External Representation for processing and presentability
Example
Decimal Number: 4-bit Binary Code
BCD(Binary Coded Decimal) External Representations
Slide 24 : OTHER DECIMAL CODES Decimal BCD(8421) 2421 84-2-1 Excess-3
0 0000 0000 0000 0011
1 0001 0001 0111 0100
2 0010 0010 0110 0101
3 0011 0011 0101 0110
4 0100 0100 0100 0111
5 0101 1011 1011 1000
6 0110 1100 1010 1001
7 0111 1101 1001 1010
8 1000 1110 1000 1011
9 1001 1111 1111 1100 d3 d2 d1 d0: symbol in the codes
BCD: d3 x 8 + d2 x 4 + d1 x 2 + d0 x 1
8421 code.
2421: d3 x 2 + d2 x 4 + d1 x 2 + d0 x 1
84-2-1: d3 x 8 + d2 x 4 + d1 x (-2) + d0 x (-1)
Excess-3: BCD + 3 Note: 8,4,2,-2,1,-1 in this table is the weight
associated with each bit position. BCD: It is difficult to obtain the 9's complement.
However, it is easily obtained with the other codes listed above.
→ Self-complementing codes External Representations
Slide 25 : GRAY CODE * Characterized by having their representations of the binary integers differ
in only one digit between consecutive integers
* Useful in some applications Decimal
number Gray Binary
g3 g2 g1 g0 b3 b2 b1 b0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1
2 0 0 1 1 0 0 1 0
3 0 0 1 0 0 0 1 1
4 0 1 1 0 0 1 0 0
5 0 1 1 1 0 1 0 1
6 0 1 0 1 0 1 1 0
7 0 1 0 0 0 1 1 1
8 1 1 0 0 1 0 0 0
9 1 1 0 1 1 0 0 1
10 1 1 1 1 1 0 1 0
11 1 1 1 0 1 0 1 1
12 1 0 1 0 1 1 0 0
13 1 0 1 1 1 1 0 1
14 1 0 0 1 1 1 1 0
15 1 0 0 0 1 1 1 1 4-bit Gray codes Other Binary codes
Slide 26 : GRAY CODE - ANALYSIS Letting gngn-1 ... g1 g0 be the (n+1)-bit Gray code
for the binary number bnbn-1 ... b1b0 gi = bi bi+1 , 0 i n-1
gn = bn
and
bn-i = gn gn-1 . . . gn-i
bn = gn 0 0 0 0 00 0 000
1 0 1 0 01 0 001
1 1 0 11 0 011
1 0 0 10 0 010
1 10 0 110
1 11 0 111
1 01 0 101
1 00 0 100
1 100
1 101
1 111
1 010
1 011
1 001
1 101
1 000 The Gray code has a reflection property
- easy to construct a table without calculation,
- for any n: reflect case n-1 about a
mirror at its bottom and prefix 0 and 1
to top and bottom halves, respectively Reflection of Gray codes Note: Other Binary codes
Slide 27 : CHARACTER REPRESENTATION ASCII ASCII (American Standard Code for Information Interchange) Code Other Binary codes 0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F NUL
SOH
STX
ETX
EOT
ENQ
ACK
BEL
BS
HT
LF
VT
FF
CR
SO
SI SP
!
“
#
$
%
&
‘
(
)
*
+
,
-
.
/ 0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
? @
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
m
n ‘
a
b
c
d
e
f
g
h
I
j
k
l
m
n
o P
q
r
s
t
u
v
w
x
y
z
{
|
}
~
DEL 0 1 2 3 4 5 6 7 DLE
DC1
DC2
DC3
DC4
NAK
SYN
ETB
CAN
EM
SUB
ESC
FS
GS
RS
US LSB
(4 bits) MSB (3 bits)
Slide 28 : CONTROL CHARACTER REPRESENTAION (ACSII) NUL Null
SOH Start of Heading (CC)
STX Start of Text (CC)
ETX End of Text (CC)
EOT End of Transmission (CC)
ENQ Enquiry (CC)
ACK Acknowledge (CC)
BEL Bell
BS Backspace (FE)
HT Horizontal Tab. (FE)
LF Line Feed (FE)
VT Vertical Tab. (FE)
FF Form Feed (FE)
CR Carriage Return (FE)
SO Shift Out
SI Shift In
DLE Data Link Escape (CC) (CC) Communication Control
(FE) Format Effector
(IS) Information Separator Other Binary codes DC1 Device Control 1
DC2 Device Control 2
DC3 Device Control 3
DC4 Device Control 4
NAK Negative Acknowledge (CC)
SYN Synchronous Idle (CC)
ETB End of Transmission Block (CC)
CAN Cancel
EM End of Medium
SUB Substitute
ESC Escape
FS File Separator (IS)
GS Group Separator (IS)
RS Record Separator (IS)
US Unit Separator (IS)
DEL Delete
Slide 29 : ERROR DETECTING CODES Parity System
- Simplest method for error detection
- One parity bit attached to the information
- Even Parity and Odd Parity
Even Parity
- One bit is attached to the information so that
the total number of 1 bits is an even number
1011001 0
1010010 1
Odd Parity
- One bit is attached to the information so that
the total number of 1 bits is an odd number
1011001 1
1010010 0 Error Detecting codes
Slide 30 : Parity Bit Generation
For b6b5... b0(7-bit information); even parity bit beven
beven = b6 b5 ... b0
For odd parity bit
bodd = beven 1 = beven PARITY BIT GENERATION
Slide 31 : PARITY GENERATOR AND PARITY CHECKER Parity Generator Circuit (even parity) b6
b5
b4
b3
b2
b1
b0 beven Parity Checker b6
b5
b4
b3
b2
b1
b0 beven Even Parity
error indicator Error Detecting codes