0% found this document useful (0 votes)
46 views

Ch01P3 Integer Representation

This document discusses different methods for representing integers in computers including unsigned, sign-and-magnitude, one's complement, and two's complement representations. It provides the ranges and binary representations of integers using each method. Examples are given of storing positive and negative numbers in 8-bit and 16-bit memory locations according to the different integer representations.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views

Ch01P3 Integer Representation

This document discusses different methods for representing integers in computers including unsigned, sign-and-magnitude, one's complement, and two's complement representations. It provides the ranges and binary representations of integers using each method. Examples are given of storing positive and negative numbers in 8-bit and 16-bit memory locations according to the different integer representations.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 42

Integer

Representation
Figure 3-5
Range of integers
Figure 3-6
Taxonomy of integers
Table 3.1 Range of unsigned integers

#---------
of Bits  Range 
-------------------------
816 ------------
0255
0535 65,
Example 3
Store 7 in an 8-bit memory location.
Solution
First change the number to binary 111. Add
five 0s to make a total of N (8) bits,
00000111. The number is stored in the
memory location.
Example 4
Store 258 in a 16-bit memory location.
Solution
First change the number to binary
100000010. Add seven 0s to make a total of
N (16) bits, 0000000100000010. The
number is stored in the memory location.
Table 3.2 Example of storing unsigned integers in
two different computers
Decimal 8-bit allocation 16-bit allocation
-------- ------------ ---------------------
---- 00000111 ---------
7

11101010
overflow 0000000000000111
0000000011101010
234
258
overflow
0000000100000010

24,760
overflow 0110000010111000
overflow
1,245,67
8
Example 5
Interpret 00101011 in decimal if the
number was stored as an unsigned
integer.
Solution
Using the procedure shown in
Figure 3.3 , the number in decimal
is 43.
Table 3.3 Range of sign-and-magnitude integers
#--------
of Bits  -------------------------------------
Range
--8 127 ------------------
+0
16 0 +127
+0
32767
32 0 +32767
 0 +0
+2,147,483,647
Note:
In sign-and-magnitude
representation, 
the leftmost bit defines the sign of
the number. If it is 0, the number is
positive.If it is 1, the number is
negative.
Note:
There are two 0s in sign-and-
magnitude
representation: positive and negative.

In an 8-bit allocation:
+0  00000000
-0  10000000
Example 6
Store +7 in an 8-bit memory location
using sign-and-magnitude
representation.
Solution
First change the number to binary 111. Add
four 0s to make a total of N-1 (7) bits,
0000111. Add an extra zero because the
number is positive. The result is: 
00000111
Example 7
Store –258 in a 16-bit memory
location using sign-and-magnitude
representation.
Solution
First change the number to binary
100000010. Add six 0s to make a total of N
-1 (15) bits, 000000100000010. Add an
extra 1 because the number is negative.
The result is: 
1000000100000010
Table 3.4 Example of storing sign-and-magnitude integ
in two computers

Decimal 8-bit allocation 16-bit allocation


-------- ------------ ---------------------
---- 00000111 ---------
+7

11111100
overflow 0000000000000111
1000000001111100
-124
+258
overflow
0000000100000010

-24,760
1110000010111000
Example 8
Interpret 10111011 in decimal if the
number was stored as a sign-and-
magnitude integer.
Solution
Ignoring the leftmost bit, the remaining bits
are 0111011. This number in decimal is 59.
The leftmost bit is 1, so the number is –59.
Note:
There are two 0s in one’s complement
representation: positive and negative.
In an 8-bit allocation:
+0  00000000
-0  11111111
One’s complement

• If the sign is positive (0), no more action
is needed;
• If the sign is negative, every bit is
complemented.
Table 3.5 Range of one’s complement integers

#--------
of Bits  -------------------------------------
Range
-8 127 ------------------
+0
+127
0
16
32 0 32767 +0
+32767
 0 +0
+2,147,483,647
Note:
In one’s complement representation, 
the leftmost bit defines the sign of
the number. If it is 0, the number is
positive.If it is 1, the number is
negative.
Example 9
Store +7 in an 8-bit memory location
using one’s complement
representation.
Solution
First change the number to binary 111. Add
five 0s to make a total of N (8) bits,
00000111. The sign is positive, so no more
action is needed. The result is: 
00000111
Example 10
Store –258 in a 16-bit memory
location using one’s complement
representation.
Solution
First change the number to binary
100000010. Add seven 0s to make a total of
N (16) bits, 0000000100000010. The sign is
negative, so each bit is complemented. The
result is: 
1111111011111101
Table 3.6 Example of storing one’s complement integer
two different computers

Decimal 8-bit allocation 16-bit allocation


-------- ------------ ---------------------
---- 00000111 ---------


11111000
01111100

0000000000000111
1111111111111000


 10000011
overflow
0000000001111100
1111111110000011


 overflow 0110000010111000
1001111101000111

Example 11
Interpret 11110110 in decimal if the
number was stored as a one’s
complement
Solution integer.

The leftmost bit is 1, so the number is


negative. First complement it . The result is
00001001. The complement in decimal is 9.
So the original number was –9. Note that
complement of a complement is the
original number.
Note:
One’s complement means reversing
all bits. If you one’s complement a
positive number, you get the
corresponding negative number. If
you one’s complement a negative
number, you get the corresponding
positive number. If you one’s
complement a number twice, you get
the original number.
Note:
Two’s complement is the most
common, the most important, and
the most widely used representation
of integers today.
Two’s complement
• If the sign is positive, no further action
is needed;
• If the sign is negative, leave all the
rightmost 0s and the first 1 unchanged.
Complement the rest of the bits
e.g. 0000000000101000

1111111111011000
Two’s complement
0000000000101000
1111111111011000

1. 00000000001010002. 216-0000000000101000
One’s complement

1111111111010111 10000000000000000


+1 -) 0000000000101000

1111111111011000 1111111111011000

Table 3.7 Range of two’s complement integers

#--------
of Bits -------------------------------------
Range
-8 128 ------------------
0 +1
32,768 27
16
32  0 +32,7
67
047 +2,147,483,6
Note:
In two’s complement representation, 
the leftmost bit defines the sign of
the number. If it is 0, the number is
positive.
If it is 1, the number is negative.
Example 12
Store +7 in an 8-bit memory location
using two’s complement representation.
Solution
First change the number to binary 111. Add
five 0s to make a total of N (8) bits,
00000111.The sign is positive, so no more
action is needed. The result is: 
00000111
Example 13
Store –40 in a 16-bit memory location using
two’s complement representation.
Solution
First change the number to binary 101000.
Add ten 0s to make a total of N (16) bits,
0000000000101000. The sign is negative,
so leave the rightmost 0s up to the first 1
(including the 1) unchanged and
complement the rest. The result is: 
1111111111011000
Table 3.8 Example of storing two’s complement integer
two different computers

Decimal 8-bit allocation 16-bit allocation


-------- ------------ ---------------------
---- 00000111 ---------


11111001
01111100

0000000000000111
1111111111111001


 10000100
overflow
0000000001111100
1111111110000100


 overflow 0110000010111000
1001111101001000

Note:
There is only one 0 in two’s
complement:
In an 8-bit allocation:
0  00000000
Example 14
Interpret 11110110 in decimal if the
number was stored as a two’s
complement
Solution integer.

The leftmost bit is 1. The number is


negative. Leave 10 at the right alone and
complement the rest. The result is
00001010. The two’s complement number
is 10. So the original number was –10.
Note:
Two’s complement can be achieved by
reversing all bits except the rightmost bits
up to the first 1 (inclusive). If you two’s
complement a positive number, you get
the corresponding negative number. If you
two’s complement a negative number, you
get the corresponding positive number. If
you two’s complement a number twice,
you get the original number.
Table 3.9 Summary of integer representation
Contents of Unsigned Sign-and-
Magnitude One’s  Two’s
Complement Complement
Memory
-----------
-----------
  
- -0   
0000
0001
12 





0010
0011
34 





0100
0101
56 





0110
0111
78 





1000
1001
910 





1010
1011
11






1100 12
13   
1101
1110
14







1111 15
3.5
FLOATING-POINT
REPRESENTATION
Table 3.10 Example of normalization

Original Number  Move


OriginalNumber
------------
------------
-------- Normalized 
------------
+1010001.1101

-111.000011
----
 6
 xx 
+0.0000011100  2
  
1

6  xx 
-001110011 3 
   
Figure 3-8

IEEE standards for floating-point representation


Example 19
Show the representation6 of the
normalized number + 2 x
1.01000111001
Solution

The sign is positive. The Excess_127


representation of the exponent is 133. You add
extra 0s on the right to make it 23 bits. The
number in memory is stored as:

0 10000101
01000111001000000000000
Table 3.11 Example of floating-point representation

Number  Sign
----  Exponent
----------
Mantissa 
-2 ------------
2 x 1.11000011
10 10000001
- -------------------------
------
+2 -6 x 1.11001
-2-3 x 1.110011 1 01111001
11000011000000000000000
11001000000000000000000

01111100 11001100000000000000000
Example 20
Interpret the following 32-bit floating-
point number
1 01111100
11001100000000000000000
Solution

The sign is negative. The exponent is –3


(124 – 127). The number after
normalization is 
-2 -3 x 1.110011

You might also like