Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

Unit5 Negative and positive numbers representation

At the end of this unit, the learner should be able to perform:


 Complement and two’s complement of binary numbers
 Subtraction of unsigned number using two’s complement
 Binary addition using two’s complement
 Floating point representation
I. Generalities
All the numbers discussed so far have been positive or unsigned numbers; however, as part of
representing quantities, there is a need for negative (or signed) numbers as well. For defining
negative numbers, we have to allocate a “sign” so the computer will be able to determine that it is a
negative number. Such signs are in use in the standard communication between humans, where the
minus and plus signs are used. This method is sometimes called “sign and magnitude” since the
number consists of two parts. One is the value (magnitude) and the other is the sign. Furthermore, in
human communication there is also a convention that a number without a sign is considered
positive. When trying to implement the same method with computers, all that is needed is a
standard that will define the sign character. It can of course be any symbol, provided everybody
knows it and acts accordingly. For example, if we define that numbers starting with the digit 9 are
considered negative and numbers starting with 0 are considered positive, then a positive 123
number will be written as 0123 and a negative 123 will be written as 9123. Using this convention,
the first digits (0 or 9) are not part of the number and are only used for defining if it is positive or
negative.

II. Complement and two’s complement

Negative numbers inside the computer is represented by the two’s complement. Two’s complement
of a binary number is the complement of the number plus one. The complement of 1 is 0 and the
complement of 0 is 1. The complement of a binary number is calculated by complementing each bit
of the number.

Example 1 The complement of 101101 is 010010.

Two’s Complement of a number = Complement of a number + 1

Example 2 The two’s complement of 101011 is 010100(complement) + 1 = 010101

Example 3 Find the two’s complement of 10000: 01111(complement) + 1 = 10000

III. Subtraction of unsigned number using two’s complement

The following procedure is used to subtract B = b5 b4 b3 b2 b1 b0 from A = a5 a4 a3


a2 a1 a0:
1. Add two’s complement of B to the A.
2. Check to see if the result produces a carry:

1
 If the result produces a carry, discard the carry and the result is positive.
 If the result does not produce a carry, take two’s complement of the result, and the
result is negative.
Example 4 Subtract B = 101010 from A = 110101.

01010 1 = Complement of B
Two’s complement of B = 010101 + 1 = 010110
Add two’s complement of B to A.

110101
+ 010110
----------------
10 01011
Carry, discard the carry and the result is +001011.

Example 5 Subtract B = 110101 from A = 101010.

Two’s complement of B is 001010 + 1 = 001011.


Add two’s complement of B to A.
001011
+ 101010
----------------
110101

As we can see, adding two 6-bit number results in a 6-bit answer. There is no
carry; we just take the two’s complement of the result.
Two’s Complement of 110101 = 001010 + 1 = -001011

IV. Unsigned, Signed Magnitude, and Signed Two’s Complement Binary Number
A binary number can be represented in form unsigned number or signed number or signed two’s
complement, + sign represented by 0 and – sign represented by 1.
1. Unsigned Number
In an unsigned number, all bits of a number are used to represent the number, but in a signed
number, the most significant bit of the number represents the sign. A 1 in the most significant
position of number represents a negative sign, and 0 in the most significant position of number
represents a positive sign.
The 1101 unsigned value is 13.
In a binary number, the first bit from the left of number is called the most significant bit (MSb), and
the first bit from the right of number is called least significant bit (LSb).
MSb →1 0 0 1 0← LSb

2. Signed Magnitude Number


In a signed number, the most significant bit represents the sign, where 1101 = -5 or 0101 = +5
In unsigned number, 1101 = 13.

2
3. Signed Two’s Complement
A signed two’s complement applies to a negative number. If the sign of the number is one, then the
number is represented by signed two’s complement.

Example 6 Representing (-5)10 with 4 bits in signed two’s complement.


(-5)10 in signed number is 1101, then the two’s complement of 101 is 011, and
by adding sign bit results in 1011 which represents -5 in signed two’s complement.
Example 7 Represent (-23)10 with an 8-bit signed two’s complement.
(23)10 = (1 0 1 1 1)2 in unsigned base-2
(1 00 10111)2 – Extended to signed 8 bits (notice the MSb is 1).
The two’s complement of (0010111)2 is (1101001)2.
(11101001)2 is (-23)10 in signed two’s complement.
V. Binary Addition Using Signed Two’s Complement
The following examples show the results of the addition of two signed numbers:
(a) (+3) + (+4)
Represent both numbers in binary, and the most significant bit represents the
sign, and the result is positive.
0011 + 0100 = 0111 = +7
(b) (+ 3)10 + (-4)10
(-4)10 in signed two’s complement is 1100, then
0011 + 1100 = 1111; result does not generate carry of then take two’s complement
of result which is -1
(-3) + (+5) = 1101 + 0101 = 1 0010 (discard carry and result is + 2)
(c) (-7)10 + (-5)10
By representing both numbers in 4-bit signed two’s complement,
(-7)10 = 1001
(-5)10 = 1011
1001 + 1011 = 10100

Sign bit
The addition of two negative numbers results positive, and it is called overflow.
(+7) + (+6) = (0111) + (0110) = 1101
The addition of two positive numbers results negative, and it is called overflow.
Example 8 A. Following addition using 8-bit signed two’s complement
(-38)10 + (44)10
(-38)10 in signed two’s complement =

11011010
+ 00101100
----------------
100000110 discard the carry and result is 00000110=6

B. Add -38 to -44 using 8-bit signed two’s complement


-38 = 11011010

3
-44 = 11010100
------------
10101110= -82

C. Add +100 to +44


100 = 01100100
44 = 00101100
-------------
10010000 the sign of result is negative then results produce overflow.

Addition Overflow The following cases result overflow for adding two signed numbers if:

(a) Both numbers are negative, and results of addition become positive:
(-A) + (-B) =+C
(b) Both numbers are positive, and results of addition become negative:
(+A) + (+B) = -C
Floating Point Representation
The central processing unit (CPU) typically consists of an arithmetic logic unit (ALU), floating
point unit (FLU/FPU), registers, control unit, and the cache memory. The arithmetic logic unit
performs integer arithmetic operations such as addition, subtraction, and logic operations such as
AND, OR, XOR, etc. Integers are whole numbers without fractional components. 1, 2, and 3 are
integers, while 0.1, 2.2, and 3.0001 all have fractional components are called floating point
numbers.
The floating point unit performs floating point operations. Floating point numbers have a sign, a
mantissa, and an exponent. The Institute of Electrical and Electronics Engineers (IEEE) developed a
standard to represent floating point numbers, referred to as IEEE 754. This standard defines a
format for both single
(32-bit) and double (64-bit) precision floating point numbers. Decimal floating points are
represented by Mx10E, where M is the signed mantissa and E is the exponent.
Single Precision Representation
Floating point numbers in single precision represented by 32 bits as shown in the following
Figure

Fig. IEEE 745 floating point single precision (S = represent sign of mantissa. S =0 means mantissa
is positive, and S = 1 means mantissa is negative)
Biased Exponent The biased exponent is the exponent + 127 (01111111)2; therefore, the exponent
is represented by a positive number.
Normalized Mantissa The mantissa is represented by 1. M, where M is called normalized
mantissa; if M = 00101, then mantissa is 1.00101.
Example Find normalized mantissa and biased exponent of (111.0000111)2.
111.0000111 can be written in the form of 1.110000111 x 210

4
Where
M = 110000111
Biased exponent = 10 + 01111111 = 10000001
The representation of 111.0000111 in single precision is

Example Convert the following single precision floating point to decimal number.
101111101 11001000000000000000000
S = 1 means mantissa is negative. Biased exponent = 01111101.
Exponent = 01111101–01111111 = -00000010.
Normalized mantissa = 11001000000000000000000.
Mantissa =1. 11001000000000000000000.
Decimal number = 1.11001000000000000000000 x2-10 = 0.01110011.
Double Precision. In order to increase the accuracy of a floating point number, IEEE 745 offers
double precision represented by 64 bits as shown in the following Figure.
Biased exponent = exponent + 1023

Fig. IEEE 745 double precision floating point format


Example Represent -15.625 in IEEE 745 single precision.
-15. 625 = (1111.101)2
-1111.101 = -1.11101101 x 211
S=1
Normalized mantissa =0.11101101.
Biased exponent =11 + 01111111 = 10000010.
IEEE745 single precision is 1 10000010 1110110100000000000000.
Binary-Coded Decimal (BCD)
In daily life, we use decimal numbers where the largest digit is 9, which is represented by 1001 in
binary. The following Table shows decimal numbers and their corresponding BCD code.

5
Example Converting 345 to BCD Using the table: 0011 0100 0101
Example Convert (10100010010)BCD to decimal, separate each 4 bits from right to left, and
substitute the corresponding decimal number with BCD the results in 512.
Exercises
1. Find two’s complements of the following numbers:
(a) 11111111
(b) 10110000
(c) 10000000
(d) 00000000
2. Represent (465)10 in BCD.
3. Represent (100101100111)BCD in decimal.
4. Represent (110010000100)BCD in decimal.
5. Convert the following two’s complement numbers to decimal:
(a) 1011
(b) 11111001
(c) 10011111
6. Subtract the following unsigned numbers using two’s complement:
(a) 11110011–11000011
(b) 10001101–11111000
7. Perform addition of the following signed numbers; assume each number is
represented by 6 bits and state if the result of each addition produces overflow:
(a) (+12) + (+7)
(b) (+25) + (+30)
(c) (-5) + (+9)
(d) (-6) + (-7)
(e) (-36) + (-12)
8. What is the largest 16-bit binary value that can be represented by:
(a) Unsigned number
(b) Signed magnitude
(c) Signed two’s complement
9. Represent each of the following numbers in 8-bit signed two’s complement:
(a) -15
(b) -24
(c) -8
Represent the following decimal numbers in IEEE 745 single precision:
(a) 34.375
(b) -0.045
Convert the following IEEE 745 single precision to decimal number:
(a) 1 10000100 01110000000000000000000
(b) 0 01111100 11100000000000000000000

You might also like