Chapter 2 - Number System

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 62

Chapter 2

NUMBER SYSTEM

1
Topics
2.1 Decimal, Binary, Octal and
Hexadecimal Numbers

2.2 Relation between binary


number system with other
number system

2
2.3 Representation of integer,
character and floating point
numbers in binary

2.4 Arithmetic Operations for


Ones Complement, Twos
Complement, magnitude and sign
and floating point number

3
2.1) Decimal, Binary, Octal and Hexadecimal
Numbers

Introduction
Most numbering system use positional notation :
N = anrn + an-1rn-1 + … + a1r1 + a0r0
Where: N: an integer with n+1 digits
r: base
ai  {0, 1, 2, … , r-1}

4
Example:
a) r = 10 (base 10) => decimal numbers
symbol : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 (10
different symbols)
N = 278 => n = 2; a2 = 2; a1 = 7; a0 = 8
= (2 x 102) + (7 x 101) + (8 x 100)

Hundreds Tens Ones

5
b) r = 2 (base-2) => binary numbers
symbol: 0, 1 (2 different symbols)
N = 10012 => n = 3; a3 = 1; a2 = 0; a1 = 0; a0 = 1
= (1 x 23) + (0 x 22) + (0 x 21) + (1 x 20)

c) r = 8 (base-8) => Octal numbers


symbol : 0, 1, 2, 3, 4, 5, 6, 7, (8 different symbols)
N = 2638 => n = 2; a2 = 2; a1 = 6; a0 = 3
= (2 x 82) + (6 x 81) + (3 x 80)
6
d) r = 16 (base-16) => Hexadecimal numbers
symbol : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C,
D, E, F (16 different symbols)

N = 26316 => n = 2; a2 = 2; a1 = 6; a0 = 3
= (2 x 162) + (6 x 161) + (3 x 160)

7
Decimal Binary Octal Hexadecimal

0 0 0 0
1 1 1 1
2 10 2 2 There are also
3 11 3 3
non-positional
4 100 4 4
5 101 5 5 numbering
6 110 6 6 systems.
7 111 7 7
8 1000 10 8
Example: Roman
9 1001 11 9 Number System
10
11
1010
1011
12
13
A
B
1987 =
12 1100 14 C MCMLXXXVII
13 1101 15 D
14 1110 16 E
15 1111 17 F
16 10000 20 10

8
2.2) Relation between binary number
system and others
2.2.1) Binary and Decimal

1. Converting a decimal number into binary


Integers:
• Divide the decimal number by 2 and take its remainder
• The process is repeated until it produces the result of 0
• The binary number is obtained by taking the remainder
from the bottom to the top

9
Example:
5310 => 53 / 2 = 26 remainder 1
26 / 2 = 13 remainder 0 Read13the
/2=
6 remainder 1 remainders
6 / 2 = 3 remainder 0 from3the
/2 =
1 remainder 1 bottom to
1 / 2 = 0 remainder 1 the top

 1101012 (6 bits) = 001101012 (8 bits)


(note: bit = binary digit)

10
Fractions:

•The fraction part in binary notation can be represented by:

 0.b-1b-2b-3….. , where bi = 0 or 1

 and has the value:


(b-1 x 2-1) + (b-2 x 2-2) + (b-3 x 2-3) + ….

• Examples:
1) 0.10112 = (0x20)+(1x2-1)+(0x2-2)+(1x2-3)+(1x2-4)
2) 11.0112 = (1x21)+(1x20)+(0x2-1)+(1x2-2)+(1x2-3)

11
• Decimal to Binary

 multiply the decimal fraction by two and take


the value of the integer part.

 use the fraction part of the product as the


multiplicand in the step.

the process is repeated until to the approximate


value needed.

12
• Examples:

13
2. Converting a binary number into decimal

Integers:
•Multiply each bit in the binary number
with the weight (or position value)
•Add up all the results of the
multiplication performed
•The desired decimal number is the total
of the multiplication results performed

14
Example:
a) 1110012 (6 bits)
= (1x25) + (1x24) + (1x23) + (0x22) + (0x21) + (1x20)
= 32 + 16 + 8 + 0 + 0 + 1
= 5710

b) 000110102 (8 bits)
= 2 + 23 +21
4

= 16 + 8 + 2
= 2610

15
Fractions:
Note: The steps are similar to the integers.
Example:
1) 0.10112 = (0x20)+(1x2-1)+(0x2-2)+(1x2-3)+(1x2-4)
= 0.0 + 0.5 + 0.25 + 0.125 + 0.0625
= 0.937510

2) 11.0112 = (1x21)+(1x20)+(0x2-1)+(1x2-2)+(1x2-3)
= 2 + 1 + 0 + 0.25 + 0.125
= 3. 37510

16
2.2.2) Binary and Octal
Theorem

• If base R1 is the integer power of other base, R2, i.e.


R 1 = R 2d
• Every group of d digits in R2 is equivalent to 1 digit
in the R1 base

(Note: This theorem is used to convert binary numbers


to octal and hexadecimal or the other way round)

17
• From the above theorem, assume that
R1 = 8 (base-8) octal
R2 = 2 (base-2) binary

• If R1 = R2d  8 = 23
 So, 3 digits in base-2 (binary) is
equivalent to 1 digit in base-8 (octal)

18
• From the stated theorem, the following is a
binary-octal conversion table.

Binary Octal In a computer system,


000 0
001 1
the conversion from
010 2 binary to octal or
011 3
otherwise is based on
100 4
101 5 the conversion table
110 6 above.
111 7

19
Example:
a) Convert the folowing binary numbers into octal
numbers:
i) 001011112 (8 bits) ii) 111101002 (8
bits)to the binary-octal
Refer Refer to the binary-octal
conversion table above conversion table above
000 101 111 11 110 100

0 5 7 3 6 4
= 578 = 3648
20
b) Convert the following octal numbers into binary numbers (16
bits)

(a) 658 (b) 1238

Refer to the binary- Refer to the binary-


octal conversion table octal conversion table
above above
68 58 18 28 38
110 101 001 010 011
= 0000 0000 001101012 = 00000000010100112

21
2.2.3) Binary and Hexadecimal
• The same method that employed in binary-octal
conversion is used.

• Assume that:
R1 = 16 (hexadecimal)
R2 = 2 (binary)

 from the theorem: 16 = 24 , hence, 4 digits in a


binary number is equivalent to 1 digit in the
hexadecimal number system (and otherwise)

22
Binary Hexadecimal
0000 0
Example:
0001 1
0010 2
0011 3 a) Convert the binary number,
0100 4 001011112 into hexadecimal
0101 5
0110 6
number.
0111 7
1000 8 Refer to the binary-
1001 9
hexadecimal conversion
1010 A
1011 B
table:
1100 C
1101 D 0010 11112 = 2F16
1110 E
1111 F
2 F

23
b) Convert the following hexadecimal numbers
into binary numbers
(a) 12B16 (b) ABCD16
Refer to the binary- Refer to the binary-
hexadecimal conversion hexadecimal conversion
table above table above
1 2 B16 A B C D16

0001 0010 10112 1010 1011 1101 11102

= 0001001010112 = 10101011110111102
24
2.3) Representation of integer, character
and floating point numbers in binary

2.3.1) Introduction
Machine instructions operate on binary data. The most important
general categories of data are:

1. Addresses – unsigned integer

2. Numbers – integer or fixed point, floating point numbers


and decimal (eg, BCD (Binary Coded Decimal))

25
3. Characters – IRA (International Reference
Alphabet), EBCDIC (Extended Binary Coded
Decimal Interchange Code), ASCII (American
Standard Code for Information Interchange)

4. Logical Data – only has 2 values either 1 or 0.

• Those commonly used by computer


users/programmers: signed integer, floating
point numbers and characters

26
ASCII Code

27
2.3.2) Signed Integer Representation
• Signed integers are usually used by
programmers
• Unsigned integers are used for addressing
purposes in the computer (especially for
assembly language programmers)
• Three representations of signed integers:
1. Sign-and-Magnitude
2. Ones Complement
3. Twos Complement
28
a) Sign-and-Magnitude

• The easiest representation


• The leftmost bit in the binary number
represents the sign of the number, 0 if
positive and 1 if negative
• The balance bits represent the
magnitude of the number.

29
Examples:

i) 8 bits binary number


__ __ __ __ __ __ __ __

Sign bit 7 bits for magnitude (value)


0 => +ve
1 => –ve

a) (i) +7 = 0 0 0 0 0 1 1 1

Magnitude for 710 in


Sign bit = 0
7-bit binary
(+ve number)

30
(ii) –7 = 100001112
Magnitude for 710
in 7-bit binary
Sign bit = 1
(-ve number)

b) (i) –10 = 1 0 0 0 1 0 1 0 (ii) +10 = 000010102


Magnitude for 1010 Magnitude for 1010
in 7-bit binary in 7-bit binary
Sign bit = 1
Sign bit = 0
(-ve number)
(+ve number)

31
ii) 6 bits binary number
__ __ __ __ __ __

Sign bit 5 bits for magnitude (value)


0 => +ve
1 => –ve

a) (i) +7 = 0 0 0 1 1 1 (ii) -7 = 1 0 0 1 1
1 Magnitude for 710 Magnitude for 710
in 5-bit binary in 5-bit binary
Sign bit = 0 Sign bit = 0
(+ve number) (+ve number)

32
b) Ones Complement
• In the ones complement representation, positive
numbers are same as that of sign-and-magnitude

Example: +5 = 00000101 (8 bit)


Sign bit = 0 Magnitude for 510
(+ve number) in 7-bit binary

 as in sign-and-magnitude representation

• Sign-and-magnitude and ones complement use the


same representation for all positive numbers.
33
 For negative numbers, their representations are
obtained by changing bit 0 → 1 and 1 → 0 from their
positive number representations.
Example: Convert –5 into 8-bit ones complement
representation.
Solution:
• First, obtain +5 representation in 8 bits
 00000101
• Change every bit in the number from 0 to 1 and
vice-versa.
• –510 in ones complement is 111110102
34
Exercise:
Get the representation of ones complement (6 bit) for
the following numbers:

i) +710 ii) –1010


Solution: Solution:
(+7) = 0001112 +1010 = 0 0 1 0 1 02
Magnitude for 710 in
5-bit binary

Sign bit = 0
So, -1010 = 1 1 0 1 0 12
(+ve number)
Change each
bit 0 → 1 and
1→0
35
c) Twos complement
• For +ve numbers  their representations
are similar to ones complement and sign-
and-magnitude

• For –ve numbers  their representations


are obtained by adding 1 to the ones
complement of the numbers.

36
Example:
Convert –5 into twos complement representation and
give the answer in 8 bits.

Solution:
 First, obtain +5 representation in 8 bits
 000001012
 Obtain ones complement for –5
 111110102
 Add 1 to the ones complement number:
 111110102 + 12 = 111110112
 –5 in twos complement is 111110112
37
Exercise:
What are the representations of the following
numbers in 6-bit twos complement?
i) +710 ii) –1010
Solution: Solution:
+7 = 0001112 +1010 = 0010102

-1010 = 1101012 + 12
= 1101102
So, twos complement for –10 is
110110-10
2 in ones complement
10

38
2.3.3) Character Representation

• For character data type, its representation


uses codes such as the ASCII, IRA or
EBCDIC.

Note: Students are encouraged to obtain


the codes

39
2.3.4) Floating point representation
In computer, floating point numbers are represented in
the form of:
+S x B+E
and the number can be stored in computer words with
3 fields:
i) Sign (+ve, –ve)
ii) Significand S
iii) Exponent E
where B is base and is implicit (need not be stored
because it is the same for all numbers (base-2)).
40
• Diagrams below are IEEE standard for
binary floating-point known as IEEE
Standard 754.

41
• The characteristics of the three formats:

42
• Below are examples of floating-point number
with 8 bits for biased exponent (Binary32).

43
• Biased Exponent
 In IEEE 754 floating points numbers, the
exponent is biased – the value stored is offset
from the actual value by the exponent bias.
 To calculate the bias for an arbitrary sized
floating point number apply the formula 2 (k-1) -1
where k is the number of bits allocated for an
exponent field.
 If k=8, the bias is 28-1 - 1 = 128 - 1 = 12710 =
11111112
 Eg1: 1.1010001 x 210100
 An exponent 101002 will convert to the biased
exponent 100100112 (11111112 + 101002)
44
2.4) Arithmetic Operations for Ones
Complement, Twos Complement, and sign-
and-magnitude.
6.4.1) Introduction
• Reminder: This chapter only focus on addition and
subtraction only.

• Most of the computer system will change the


subtraction operation to the addition operation

Example: i) 8 – 5 = 8 + (–5)
ii) –10 + 2 = (–10) + 2
iii) 6 – (–3) = 6 + 3 45
2.4.2) Sign-and-Magnitude
Assume that the operation is:
Z=X+Y
There are a few possibilities:

i) If both numbers, X and Y are positive

 Just perform the addition operation


Example: 510 + 310 = 0001012 + 0000112
= 0010002
= 810
46
ii) If both numbers are negatives
 Add |X| and |Y| and set the sign bit = 1 to the
result, Z
Example:
–310 – 410 = (–3) + (–4)
= 1000112 + 1001002

☺Only add the magnitude:


000112 + 001002 = 001112
Set the sign bit of the result (Z) to 1 (–ve)
= 1001112
= –710 47
iii) If signs of both numbers are differ
There will be 2 cases:
a) | +ve Number | > | –ve Number |
Example: (–2) + (+4), (+5) + (–3)
 Set the sign bit of the –ve number to 0
(+ve), so that both numbers become +ve.
 Subtract the number of smaller
magnitude from the number with a bigger
magnitude

48
Sample solution (in 6-bit):
i) (–2) + (+4)
 Get the representation for each number:
(–2) = 1000102
(+4) = 0001002
 Change the sign bit of the –ve number to +ve
(–2) change to (+2) = 0000102
 Subtract (+2) from (+4)
= (+4) – (+2)
= 0001002 – 0000102
= 0000102 = 210

49
b) | –ve Number | > | +ve Number |
 For this condition, just subtract the +ve number
from the –ve number.

Example: (+310) + (–510)


 Find the representation for each number
 +310 = 0000112
–510 = 1001012

 Subtract the +ve number (+3) from the –ve


number (-5)
(-510) - (+310) = 1001012 – 0000112
= 1000102
= –210 50
2.4.3. Ones complement
In ones complement, it is easier than sign-and-
magnitude:
 Change the numbers into their representations and
perform the addition operation

 However a situation called Overflow might


occurs when addition is performed on the following
conditions:
1. If both are negative numbers
2. If both numbers are in difference sign
and |+ve Number| > | –ve Number|

51
Overflow => the addition result exceeds the number
of bits that was fixed
Condition 1: Both are –ve numbers
Eg: –310 – 410 = (–310) + (–410)
Solution: (8 bits)
 Convert –310 and –410 into ones complement
representations.
+310 = 000000112 +410 = 000001002

–310 = 111111002 –410 = 111110112

52
 Perform the addition operation
–310 => 111111002 (8 bit)
+ – 410 => 111110112 (8 bit)
–710 1111101112 (9 bit)
Overflow occurs. This value is called EAC bit and needs to
be added to the rightmost bit.

111101112
+ 12
111110002 = –710
the answer (8 bits)
53
Condition 2: | +ve Number| > |–ve Number|
Eg: (–2) + 4 = (–2) + (+4)
Solution: (8 bits)
Convert –210 and +410 into ones complement
representation
–2 = 111111012 +4 = 000001002

Add both of the numbers
(–210) => 11111101 (8 bit)
+ (+410) => 00000100 (8 bit)
+210 100000001 (9 bit)
There is an EAC (overflow occurs)

54
Add the EAC to the rightmost bit

00000001
+ 1
000000102 = +210

the answer

Note:
 For conditions other than 1 & 2 above, overflow
does not occur and there will be no EAC (hence, no need to
perform addition operation to the rightmost bit).

55
2.4.4. Twos Complement
Addition operation in twos complement is
same with that of ones complement, i.e.
overflow occurs if:

1. If both are negative numbers


2. If both numbers are in difference sign
and |+ve Number| > |–ve Number|

56
Condition 1: Both numbers are –ve
Example: –310 – 410 = (–310) + (–410)
Solution: (6 bits)
 Convert both numbers into twos complement
representation

+310 = 0000112 (6 bit)


–310 = 1111002 (one’s complement)
–310 = 1111012 (two’s complement)

+410 = 0001002
–410 = 1110112 (one’s complement)
–410 = 1111002 (two’s complement)

57
Perform addition operation on both the
numbers in twos complement
representation and ignore the EAC bit.
111100 (–310)
111011 (–410)
Ignore the
1111001
EAC bit The answer

= 1110012 (two’s complement)


= –710
58
Note:
In twos complement, EAC is ignored (no need
to be added to the leftmost bit, like that of ones
complement)

59
Condition 2: | +ve Number| > |–ve Number|

Example: (–2) + 4 = (–2) + (+4)


Solution:
Convert both numbers into twos complement representation:

+2 = 0000102 +4 = 0001002
–2 = 1111012 (in ones complement)
–2 = 1111012 + 12
–2 = 1111102 (in twos complement)

60
Perform an addition operation on both
numbers:

(–210) => 111110 (6 bit)


+ (+410) => 000100 (6 bit)
+210 1000010

Ignore the EAC

The answer is 0000102 = +210

61
Note: For cases other than condition 1 and 2
above, overflow does not occur.

Exercise:
Perform the following arithmetic operations in ones
complement and twos complement.

1. (+2) + (+3) [6 bit]


2. (–2) + (–3) [6 bit]
3. (–2) + (+3) [6 bit]
4. (+2) + (–3) [6 bit]

Compare your answers with the stated theory.

62

You might also like