0% found this document useful (0 votes)
47 views16 pages

CHAPTER 2 Data Representations

This document discusses different data representation formats used in computers. It begins by explaining that all data formats are ultimately patterns of 1s and 0s at the bit level. It then categorizes the main formats as number formats, which store only numeric data using integer, floating point, or BCD formats, and alphanumeric codes, which can store both numbers and characters. The document focuses on number formats, explaining integer, hexadecimal, octal, and binary representations of numbers. It also covers signed integers using sign magnitude and complement representations, and how operations like addition work with these signed number formats.

Uploaded by

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

CHAPTER 2 Data Representations

This document discusses different data representation formats used in computers. It begins by explaining that all data formats are ultimately patterns of 1s and 0s at the bit level. It then categorizes the main formats as number formats, which store only numeric data using integer, floating point, or BCD formats, and alphanumeric codes, which can store both numbers and characters. The document focuses on number formats, explaining integer, hexadecimal, octal, and binary representations of numbers. It also covers signed integers using sign magnitude and complement representations, and how operations like addition work with these signed number formats.

Uploaded by

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

CHAPTER 2

DATA REPRESENTATIONS
 Several formats are used to store data.
 Because a computer uses binary numbers all these formats are
patterns of 1’s and 0’s.
 These binary digits are called BITS.
 In Computer circuits, 0’s and 1’s are voltage levels where a 0 is
low voltage / OFF and a 1 is high Voltage /ON

These formats fall in two main categories


1. Number Formats: They store only numbers; There are
three number formats:
 Integer or Fixed point Formats.
 Floating Point Formats
 Binary Coded decimal (BCD)

2. Alphanumeric Codes: These store both numbers and


characters including the alphabetic characters.

NUMBER FORMATS
Integer Formats
Human beings are trained to understand decimal system.
e.g. 5437 = 5000 + 400 + 30 + 7 = (5 * 103) + (4 * 102) + (3 * 101) + (7 * 100)

In Binary
11011 = (1 * 24) + (1 * 23) + (0 * 22) + (1 * 21)+ (1 * 20) = 16 + 8 + 0 + 2 + 1 = 2710

Horner’s Rule: Used to convert binary numbers to decimal.


e.g. 101101 = (1 * 25) + (0 * 24) + (1 * 23) + (1 * 22) + (0 * 21) + (1 * 20)
= 32 + 0 + 8 + 4 + 0 + 1 = 4510
Using Horner’s Rule: ((((1 * 2 + 0)2 +1)2 + 1)2 + 0)2 + 1 = 4510

 To convert from decimal to binary you perform successive


divisions.
 e.g. 4510 = 1011012; 13710 = 10010012

Hexadecimal
It has 15 digits 0 – 15
Decimal Hexadecimal Binary Octal
0 0 0000 0
1 1 0001 1
2 2 0010 2
3 3 0011 3
4 4 0100 4
5 5 0101 5
6 6 0110 6
7 7 0111 7
8 8 1000 10
9 9 1001 11
10 A 1010 12
11 B 1011 13
12 C 1100 14
13 D 1101 15
14 E 1110 16
15 F 1111 17
16 10 10000 20

It’s easier to represent numbers in hexadecimal than in binary.


e.g. To convert 1100110112 to Hexadecimal
(1 * 28)+ (1 * 27) + (1 * 24) + (1 * 23)+ (1 * 21)+ (1 * 20)
256 + 128 + 16 +8 + 2 + 1 = 41110

411 / 16 = 25 rem 11 B
25/16 = 1 rem 9 9 => 41110 = 19B16

 Each Hexadecimal digit can be represented by a unique


combination of 4 binary bits
 = > 1 1001 1011 = 0001 1001 1011
1 9 B
 To convert 1C2E16 to decimal you expand.
 To convert 1579710 to hexadecimal you perform successive
divisions.

Octal System
Each octal digit can be represented by a unique combination of three
bits.
e.g. to convert 1100110112 to base 8 first covert to decimal then perform
successive divisions of 8 on the decimal number.
1100110112 = 41110
411/8 = 51 rem 3
51/8 = 6 rem 3 => 1100110112 = 41110 = 6338

1010110001102 = 101 011 000 110 = 53068


= 1010 1100 0110 = AC616
15738 = 001 101 111 011
= 0011 0111 1011 = 37B16
A74816 = 1010 011 0100 1000 =
= 001 010 011 101 001 000 = 1235108

In decimal you can expand numbers with fractions. E.g.


631.25 = (6 * 102) + (3 * 101) + (1 * 100) +(2 * 10-1) +(5 * 10-2)
Similarly in binary;
101.11 = (1 * 22) + (0 * 21) + (1 * 20) + (1 * 2-1) + (1 * 2-2) = 4 + 0 + 1 + ½ + ¼ = 5.7510

 If a decimal number is given the binary equivalent of the integer


portion is obtained as usual but the fraction part is obtained by
successively multiplying by 2.
 e.g. 13.6875;

13 = 1101 1 0 1 1
.6875 * 2 = 1.375
.375 * 2 = 0.75
.75 * 2 = 1.5
.5 * 2 = 1.0
=> 13.6875 = 1101.1011
Similarly 150.312510 = 10010110.01012
 If a binary number contains digits to the right of the decimal point
we convert them by starting at the binary point and move to the
right.
e.g. 11.10100110112 = 011 101 001 101 100 = 3.51548
= 0011 1010 0110 1100 = 3.A6C16

Similarly
5.1458 = 101 001 100 101 = 0101 0011 0010 1000 = 5.32816
 Just like in Base 10 the decimal point can be moved by multiplying
by the appropriate power of the base.
e.g. 101.11 = 1011 * 2-2 = 0.1011 * 23

 Horner’s Rule can also be applied to numbers with fractions


e.g. 0.0101 = 0 + (0 * 2-1) + (1 * 2-2) +(0 * 2-3) +(1 * 2-4) = ¼ + 1/16 = 5/16 = 0.3125

Using Horner’s rule


0.5(0 + 0.5(1+0.5(0+0.5 * 1))) = 0.3125

Binary Arithmetic
110101 101101 10110 11111101 / 1011
+ 10010 -100110 * 1011
1000111 111

BA41 BA41
+ 14AF -14AF
CEF0 A592

REPRESENTATION OF NUMBERS IN COMPUTERS


Because the storage capacity of a computer’s memory and control
circuitry is finite, it is necessary to group the bits it operates on into finite
sequences. The size of bit groupings is an important factor in designing
a computer.
Once a group of bits is decided upon there are only finite numbers of
integers that can be represented by the group.
If there are n bits in a group the number of possible combinations of 0’s
and 1’s is 2n.

If the bits are used to represent non–negative integers, integers 0


through 2n - 1 can be represented.
With 8 bits integers 0 – 255 can be represented.

We usually estimate high powers when the groups are large where n
may be 24, 32, 64 etc.
210 = 1024 = 103
e.g. 236 = 26.230 = 26(210)3 = 26(103)3 = 64 * 109

If the result of any operation does not fit into the number of bits reserved
for it an overflow is said to occur.
All the 4 arithmetic operations can cause an overflow.
360 + 720 – 300 = 360 + (720 – 300) and (360 + 720) – 300

SIGNED INTEGERS
Normally a negative number is written by writing its magnitude and then
placing a negative sign to the left of the magnitude of the number.
 A computer element can take only a 0 or 1; so a minus sign must
be represented by a 0 or a 1.
 If a number is to be stored in n bits, the magnitude is placed in the
n – 1 right most bits and the MSB represents the sign.
 A negative number is represented by a 1 and a positive number by
a 0.
 Such a format is called the Sign Magnitude Format.
In this format there is a difference between – 0 and + 0 but they both
have the same magnitude.
 The range of integers that can be expressed in a group of 8 bits is
from – (27 – 1) = -127 to (27 – 1) = +127
 In general a d bit binary sign magnitude representation in which the
first bit represents the sign has a range of
– (2d-1 – 1) to + (2d-1 – 1).

In an 8 bit signed magnitude format, numbers


001010112 = + 4310 10101011 = -4310
011111112 = + 12710 11111111 = -12710
000000002 = + 0 10000000 = -0

To add two sign magnitude numbers, we follow the usual addition rules.
 If the sign differs we subtract the smaller number from the larger
number and give the result the sign of the larger number.
 If the signs are the same we add them and we give the result the
same sign.
 +5 + -7 = 10000111 -5 + -7 = 10000101
- 00000101 - 10000111
10000010 (-2) 10001100 (-12)

COMPLEMENTS
They are used to simplify subtraction & logical operations.
Consider numbers –1000 to 999 and let X be any number in that range.
The 4 digit 10’s complement of X is defined as 104 – X
If X = 0572, the 4 digit 10’s complement of X is 10000 – 0572 = 9428

Consider the addition 0557 + - 328 = 229


The 10’s complement of 328 = 104 – 328 = 9672
Add 0557 The 10’s complement is used to represent its negative value
+ 9672
1 0229 Only 4 of the significant digits are saved.
This one is lost
0557 + - 725 => 104 – 725 = 9275 = > 0557 +9275 = 9832

(i) A 9 in the most significant Digit indicates that the sum is negative.
If the magnitude is wanted the 10’s complement of the sum is taken.
i.e. 104 – 9832 = 0162
(ii) N.B. The most significant digit is reserved to represent the sign
leaving 3 digits for the magnitude.

2’s Complement
The d digit 2’s complement of a d bit binary integer N is equal to
2d – N where the subtraction is done in binary.

=> The eight bit 2’s complement of an 8 bit binary number 000000101
is 100000000 – 00000101 = 11111011

 Subtraction of 01101010 – 01011011 = 00001111


 Using 2’s complement, the complement of 01011011 = 100000000 –
01011011 = 10100101
 01101010
+ 10100101
1 00001111
1 is lost
The 2’s complement may also be computed by applying the following
rules.
(1) Invert the bit values; the result is called one’s complement.
(2) Add 1
e.g. for N = 00000101 Invert 11111010 + 1 = 11111011

1710 = 00010001 Invert 11101110 + 1 = 11101111 = -17


11910 = 00010001 Invert 10001000 + 1 =10001001 = -119

N.B. Note the difference between the sign magnitude representation and
the 2’s complement representation.
Rules to convert to decimal:
(i) If a number is positive (beginning with a 0), convert it to
base 10 directly as usual.
(ii) If it is negative (begins with 1) get its 2’s complement and
convert it to base 10.
e.g. to convert a 2’s complement number 11111001 to decimal:
 It is a 2’s complement number; it is negative because it
begins with a 1
 Get its complement ; i.e. 11111001 Invert 00000110 + 1 =
00000111 = - 7

Addition of 2’s Complement Binary Integers:


Note that the left most bits are not treated separately as in signed
magnitude numbers.
(a) 7 00000111 (b) -7 11111001
+5 00000101 +5 00000101
12 00001100 -2 11111110

(c) -7 11111001 (d) 7 00000111


+- 5 11111011 + -5 11111011
-12 1 11110100 2 1 00000010
The carry is discarded

Overflow in 2’s complement:


An overflow in 2’s complement occurs when:
(i) The sign of the result differs from the sign of the
common numbers being added OR
(ii) There is a carry into but not out of the MSB OR
(iii) There is a carry out of but not into the MSB.
e.g. 126 01111110 -126 10000010
+ 5 + 00000101 +-5 11111011
131 10000011 -131 01111101
FLOATING POINT FORMATS
It is a format for storing numbers given in scientific notation inside the
computer. This helps to handle very large and very small numbers. It
also helps to reduce leading and trailing zeros. It is written in the form
Fraction * baseexponent
e.g in base 10 0.000000357 = 0.357 * 10-6 , 625000000 = 0.625 * 109

The fraction part is sometimes called the significand and the exponent
the characteristic.
A floating point format is designated by:
(i) The base
(ii) The number of bits reserved for the exponent
(iii) The number of bits reserved for the fraction
(iv) The method for storing the sign and magnitude of
the exponent
(v) The method for storing the sign and magnitude of
the fraction.
(vi) The order in which the two signs and the two
magnitudes are to occur.
The combination of the above factors for a given computer depends
upon the designer.

The Typical floating Point Format:

Sign of Magnitude of Exponent Sign of Magnitude of fraction


Exponent fraction

1 bit------N bits------------- >< 1 bit > ------------M bits--------


 Although a base is chosen, it never appears in the format; once
chosen it is fixed. Bases are always powers of 2, 8, and 16.
 1 bit is needed for each sign
The total number of bits therefore in the FPF is N + M + 2 where N = bits
reserved for the magnitude of the exponent and M = bits reserved for the
magnitude of the fraction.
Designers usually determine
i. The resolution (number of bits reserved for the magnitude of the fraction) that
the system must be able to accommodate and
ii. The largest and smallest non-zero magnitude that the system must
be able to handle.
If base 2 is assumed the largest number that can be stored using a
N
floating point format is approximately 22-1 where N = number of bits
reserved for the exponent.

If N = 7 the largest number is approximately


2127 = 27(210)12 = 128 * 1036 = 1038 and the smallest is 2-126 = 10-38
 If an operation results in a number that is so large that the
maximum size of the exponent is exceeded an exponent
overflow is said to occur.
 Similarly if the exponent is negative and the magnitude becomes
too large, then an exponent underflow occurs.
 If N + 1 bits are reserved for the exponent and the sign, the offset
or bias chosen = 2N and the format is called the excess 2N format
 If N = 7 the offset = 2 7 = 128 = 100000002 and the format is called
the excess 128 format.
 When using the excess format the exponent is obtained from the
quantity by subtracting the offset.
 In excess 128 format, the number 01111110 = 126 implies that the
exponent = -2.
 In Excess 2N format a 1 in the MSB represents a positive exponent
and a 0 in the MSB represents a negative exponent.
The Typical 32 bit floating Point Format:

Base 2 Exponent Sign of Magnitude of fraction


In Excess 128 fraction
------8 bits-----1 bit->---------------23 bits--------------------------
------8 bits---------- < 1 bit >----------------------23 bits---------------------------

Consider a number –13.6875 = - 1101.10112 = - 0.11011011 * 24


 The Exponent in excess 128 = 128 + 4 = 132 = 100001002
 Sign of the fraction is negative => 1
10000100 1 1101101100000000……
Exponent sign fraction = 84ED80000
 To reverse consider a number 7E5C0000
 => Exponent = 7E = 01111110 = 126 => 126 – 128 = -2
5C = 0 .101 1110 = > 0.101111 * 2-2 = 0.00101112 = 0.179687510
Sign of fraction

Steps in Arithmetic
1. Pre-normalisation if the operands are not normalized.
2. Alignment
3. Post normalization of the result.

Examples
(1) 826013AC Alignment 826013AC
+8040AB04 82102AC1
82703E6D

(2) 83600000 No Alignment


+83C00000
83200000 normalisation 82400000

(3) 82600000 No Alignment


x 85D00000
87BC0000 normalisation 86F80000

The IEEE/INTEL 32 bit floating Point Format:


It has 2 forms; the single precision and the double precision format
where N = 127 and 1023 respectively.

Sign of Base 2 Exponent Magnitude of fraction


fraction In Excess 127

- 1 bit-> --------8 bits--------------------------------23 bits---------------------------

Sign of Base 2 Exponent Magnitude of fraction


fraction In Excess 1023

-1 bit->--------11 bits----------------------------52 bits------------------------------

e.g. –5.375 = -101.011 = -1.01011 * 22


Exponent = 2 + 127 = 129 = 10000001
1 10000001 01011 ….. = C0AC0000

Conversely 3E600000 = 0011 1110 0110 0000 00000 …


=>Exponent = 01111100 = 124 – 127 = -3
=>Fraction = 0.11
Significant = 1.11 * 2-3 = 0.00112 = 0.2187510

Examples
(1) 40700000 (2) 40C00000 No Alignment
+C0580000 + C0800000
40180000 3EC00000 40C00000 40000000

(3) 41380000 (4) C0A80000


*3F400000 / 40E00000
410A0000 BF400000

BINARY CODED DECIMAL (BCD)


In BCD each figure of the number to be coded is represented by its 4 bit
binary equivalent e.g.
8159 = 1000 0001 0101 1001
There are two BCD formats.
1. Packed (Condensed) BCD: In this format each figure occupies
half a byte; e.g. 341 = 0011 0100 0001
2. Extended (unpacked) BCD: Each decimal figure is represented
by a byte. In this case the first 4 bits of a byte can be filled with
zeros or ones depending on the manufacturer, e.g.
341 = 00000011 00000100 00000001

 Hardware designed for BCD is more complex than that for binary
formats. E.g. 16 bits are used to write 8159 in BCD while only 13
bits (1111111011111) would be required in binary.

The advantage of BCD format is that it is closer to the alphanumeric


codes used for I/Os.
Numbers in text data formats must be converted from text form to binary
form. Conversion is usually done by converting text input data to BCD,
converting BCD to binary, do calculations then convert the result to BCD,
then BCD to text output.
To convert a BCD number to binary, multiply consecutively by 10 =
10102
e.g. 82510 = 1000 0010 0101
((1000 * 1010) + 0010)1010 +0101 = 1100111001.
The reverse conversion is done by successive divisions by 10 (10102)
then using the 4 bit remainder as the BCD digit, e.g. Using the above
example:
1100111001/1010 = 1010010 rem 0101; 1010010/1010 = 1000 rem 0010
 1000 0010 0101
Because only 10 of the 16 bit combinations are needed to represent the
decimal digits, any 2 of the remaining combinations can be used to
represent positive and negative signs.
The four bit combinations representing the sign can appear either to the
left or to the right of the combinations.
The signs often used are 1100 for positive and 1101 for negative.
e.g. –34 = 0011 0100 1101; +159 = 0001 0101 1001 1100

BCD addition can be done by successively adding the binary


representation of the digits and adjusting the results.
The adjustment rule is: If the sum of 2 digits is > 9, add 6 to the sum.
1748 0001 0111 0100 1000
+ 2925 0010 1001 0010 0101
4673 0100 0000 0111 1101
0110 0110
0100 0110 0111 0011

ALPHANUMERIC CODES
It is the assignment of bit combinations to the letters of the alphabet,
decimal digits 0 – 9, punctuation marks and several special characters.
The two most prominent Alphanumeric Codes are:
1. EBCDIC (Extended Binary Coded Decimal Interchange Code); this
is mostly used by IBM.
2. ASCII: (American Standard Code for Information Interchange);
used by other manufacturers.
ASCII represents each character with a 7 bit string
 The total number of characters that can be represented is 27 = 128
e.g. J O H N = 4A 6F 68 6E = 1001010 110111 1101000 1101110
Since most computers manipulate an 8 bit quantity, the extra bit when 7
bit ASCII is used depends on the designer. It can be set to a particular
value or ignored.

EXPRESSION EVALUATION
 When writing an algebraic expression we use parenthesis to
indicate the order in which the elementary operations are to be
performed.
 If the ordering is specified by using parenthesis the expression is
said to be in an infix notation because the operators are placed
between their operands.
 The postfix or reverse Polish Notation places operators after the
operands.
e.g.: A/(B + C) = ABC+/

(A + B) * [C * (D + E) + F] = AB+CDE+*F+*

a + b * c(d + e) = abc * de + *+ fgh - * /


f * (g + h)

Evaluating Postfix Expressions


Uses LIFO Structure (Stack)
AB*CDE/-+ = (A * B) + (C – D/E)
Prefix
A/B^C + D*E – A*C = +/A^BC – *DE * AC OR -+ / ^ BC * DE * AC
ASCII CODE
ASCII HEX Control ASCII HEX Control ASCII HEX Control
Char Code Character Char Code Character Char Code Character
NUL 00 Null + 2B V 56
SOH 01 Start heading , 2C W 57
STX 02 Start text - 2D X 58
ETX 03 End text . 2E Y 59
EOT 04 End transmission / 2F Z 5A
ENQ 05 Inquiry 0 30 [ 5B
ACK 06 Acknowledgment 1 31 \ 5C
BEL 07 Bell 2 32 ] 5D
BS 08 Backspace 3 33 ^ 5E
HT 09 Horizontal tab 4 34 _ 5F
LF 0A Line feed 5 35 ‘ 60
VT 0B Vertical tab 6 36 a 61
FF 0C Form feed 7 37 b 62
CR 0D Carriage return 8 38 c 63
SO 0E Shift out 9 39 d 64
SI 0F Shift in : 3A e 65
DLE 10 Data link escape ; 3B f 66
DC1 11 Device control 1 < 3C g 67
DC21 12 Device control 2 = 3D h 68
DC3 13 Device control 3 > 3E i 69
DC4 14 Device control 4 ? 3F j 6A
NAK 15 Neg. acknowledge @ 40 k 6B
SYN 16 Synchronous/Idle A 41 l 6C
ETB 17 End trans. Block B 42 m 6D
CAN 18 Cancel data C 43 n 6E
EM 19 End of medium D 44 o 6F
SUB 1A Start special seq. E 45 p 70
ESC 1B Escape F 46 q 71
FS 1C File separator G 47 r 72
GS 1D Group Separator H 48 s 73
RS 1E Record separator I 49 t 74
US 1F Unit separator J 4A u 75
SP 20 Space K 4B v 76
! 21 L 4C w 77
“ 22 M 4D x 78
# 23 N 4E y 79
$ 24 0 4F z 7A
% 25 P 50 { 7B
& 26 Q 51 | 7C
‘ 27 R 52 } 7D
( 28 S 53 ~ 7E
) 29 T 54 DEL 7F Delete rubout
* 2A U 55

You might also like