Chapter 2 : Number System
2.1  Decimal, Binary, Octal and Hexadecimal 
Numbers  
2.2  Relation between binary number system 
with other number system   
2.3  Representation of integer, character and 
floating point numbers in binary  
2.4  Binary Arithmetic  
2.5  Arithmetic Operations for Ones 
Complement, Twos Complement, magnitude 
and sign and floating point number  
Decimal, Binary, Octal and 
Hexadecimal Numbers 
Most numbering system use positional 
notation : 
N = a
n
r
n
 + a
n-1
r
n-1
 +  + a
1
r
1
 + a
0
r
0    
Where:   
  N: an integer with n+1 digits 
  r: base 
  a
i
  {0, 1, 2,  , r-1} 
Examples: 
a) N = 278 
  r = 10 (base 10) => decimal numbers 
   symbol: 0, 1, 2, 3, 4, 5, 6,  
     7, 8, 9 (10 different symbols) 
   N = 278 => n = 2;  
  a
2
 = 2; a
1
 = 7; a
0
 = 8   
278 = (2 x 10
2
) + (7 x 10
1
) + (8 x 10
0
) 
Hundreds  Ones 
  Tens 
N = a
n
r
n
 + a
n-1
r
n-1
 +  + a
1
r
1
 + a
0
r
0 
b) N = 1001
2 
  r = 2 (base-2) => binary numbers 
   symbol: 0, 1 (2 different symbols) 
   N = 1001
2
 => n = 3;  
  a
3
 = 1; a
2
 = 0; a
1
 = 0; a
0
 = 1 
   1001
2
 = (1 x 2
3
)+(0 x 2
2
)+(0 x 2
1
)+(1 x 2
0
)   
c) N = 263
8  
  r = 8 (base-8) => Octal numbers 
   symbol : 0, 1, 2, 3, 4, 5, 6, 7,   
         (8 different symbols) 
   N = 263
8
 => n = 2; a
2
 = 2; a
1
 = 6; a
0
 = 3 
   263
8
 = (2 x 8
2
) + (6 x 8
1
) + (3 x 8
0
) 
N = a
n
r
n
 + a
n-1
r
n-1
 +  + a
1
r
1
 + a
0
r
0 
d) N = 263
16  
  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 = 263
16
 => n = 2;  
  a
2
 = 2; a
1
 = 6; a
0
 = 3     
263
16
 = (2 x 16
2
)+(6 x 16
1
)+(3 x 16
0
) 
Decimal  Binary  Octal  Hexadecimal 
0  
0  
0  
0  
1  
1  
1  
1  
2  
10  
2  
2  
3  
11  
3  
3  
4  
100  
4  
4  
5  
101  
5  
5  
6  
110  
6  
6  
7  
111  
7  
7  
8  
1000  
10  
8  
9  
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  
16  
10000  
20  
10  
There are also non-positional numbering systems. 
Example: Roman Number System 
1987 = MCMLXXXVII 
Relation between binary number 
system and others 
Binary and Decimal  
 Converting a decimal number into 
binary (decimal  binary) 
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 
Example:   Decimal  Binary 
53
10
 =>  53 / 2 = 26 remainder 1 
     26 / 2 = 13 remainder 0   
   13 / 2 = 6 remainder 1        
          6 / 2 = 3 remainder 0   
    3 / 2 = 1 remainder 1 
      1 / 2 = 0 remainder 1   
  = 110101
2
 (6 bits) 
  = 00110101
2
 (8 bits) 
(note: bit = binary digit) 
Read from 
the bottom 
to the top 
0.81
10
  binary??? 
0.81
10
 => 0.81 x 2 = 1.62 
       0.62 x 2 = 1.24        
       0.24 x 2 = 0.48       
        0.48 x 2 = 0.96 
       0.96 x 2 = 1.92 
       0.92 x 2 = 1.84 
  = 0.110011
2
 (approximately)  
0.110011
2  
Converting a binary number into decimal 
(binary  decimal) 
Multiply each bit in the binary number 
with the weight (or position) 
Add up all the results of the 
multiplication performed 
The desired decimal number is the 
total of the multiplication results 
performed 
Example:  Binary  Decimal 
a)111001
2
 (6 bits) 
(1x2
5
) + (1x2
4
) + (1x2
3
) + (0x2
2
) +  
  (0x2
1
) + (1x2
0
) 
= 32 + 16 + 8 + 0 + 0 + 1 
= 57
10  
b)00011010
2
 (8 bits) 
= 2
4
 + 2
3
 +2
1  
= 16 + 8 + 2 
= 26
10 
Binary and Octal 
 Theorem 
If base R
1
 is the integer power of 
other base, R
2
, i.e.     
      R
1
 = R
2
d 
  e.g.,  8 = 2
3 
  Every group of d digits in R
2 
(e.g., 3 digits)is equivalent to 1 
digit in the R
1 
base   
(Note: This theorem is used to convert 
binary numbers to octal and hexadecimal 
or the other way round) 
 From the theorem, assume that 
   R
1
 = 8 (base-8) octal 
   R
2
 = 2 (base-2) binary 
 From the theorem above,  
    R
1
 = R
2
d  
    8 = 2
3  
  So, 3 digits in base-2 
(binary) is equivalent to 1 
digit in base-8 (octal) 
 From the stated theorem, the 
following is a binary-octal 
conversion table.  
Binary  
Octal  
000  
0  
001  
1  
010  
2  
011  
3  
100  
4  
101  
5  
110  
6  
111  
7  
In a computer 
system, the 
conversion from 
binary to octal or 
otherwise is based 
on the conversion 
table above.  
3 digits in base-2 (binary) is equivalent to 1 digit in base-8 (octal) 
Example:  Binary  Octal 
Convert these binary numbers into octal 
numbers:  
(a)  00101111
2
 (8 bits)  (b) 11110100
2
 (8 bits) 
Refer to the binary-octal 
conversion table  
      000  101  111   
          = 57
8 
0  
5  
7  
Refer to the binary-octal 
conversion table  
      011  110  100   
          = 364
8 
3  
6  
4  
 The same method employed in binary-octal 
conversion is used once again. 
 Assume that: 
           R
1
 = 16 (hexadecimal) 
           R
2 
= 2 (binary) 
 From the theorem: 16 = 2
4 
  Hence, 4 digits in a binary number is 
equivalent to 1 digit in the hexadecimal 
number system (and otherwise) 
 The following is the binary-hexadecimal 
conversion table   
Binary and Hexadecimal 
Binary  
Hexadecimal  
0000  
0  
0001  
1  
0010  
2  
0011  
3  
0100  
4  
0101  
5  
0110  
6  
0111  
7  
1000  
8  
1001  
9  
1010  
A  
1011  
B  
1100  
C  
1101  
D  
1110  
E  
1111  
F  
Example:  
1. Convert the following 
binary   numbers into 
hexadecimal numbers:  
(a)  00101111
2          
    Refer to the binary-
hexadecimal conversion table 
above   
  0010   1111
2
    =  2F
16  
     2      F 
Convert the following octal numbers 
into hexadecimal numbers (16 bits) 
(a) 65
8
        (b) 123
8 
Refer to the binary-octal conversion table 
      6
8
     5
8 
   110    101 
0000  0000  0011  0101
2   
   0     0     3     5 
=  35
16 
Refer to the binary-octal conversion table 
      1
8
      2
8         
3
8 
    001   010    011 
0000  0000  0101  0011
2   
   0     0     5     3 
=  53
16 
Example:  Octal  Hexadecimal 
octal  binary  hexadecimal 
Convert the following hexadecimal 
numbers into binary numbers 
(a) 12B
16
       (b) ABCD
16  
Refer to the binary-hexadecimal 
conversion table 
   1        2      B
16 
 0001 0010 1011
2
 (12 bits) 
= 000100101011
2 
Refer to the binary-hexadecimal 
conversion table 
   A     B       C        D
16 
 1010 1011  1101  1110
2  
= 1010101111011110
2 
Example:  Hexadecimal  Binary 
Exercise 1 
 Binary  decimal 
 001100 
 11100.011 
 Decimal  binary 
 145 
 34.75 
 Octal  hexadecimal 
 5655
8 
Solution 1 
 Binary  decimal 
 001100 = 12 
 11100.011 = 28.375 
 Decimal  binary 
 145 = 10010001  
 34.75 = 100010.11  
 Octal  hexadecimal 
  octal  binary  decimal  hexadecimal 
 5655
8
 = BAD  
0 x 2
5  
+ 0 x 2
4 
+ 1 x 2
3 
+ 1 x 2
2 
+ 0 x 2
1 
+ 0 x 2
0  
=  
8 +4 = 12 
145/2 = 72 (reminder 1); 72/2=36(r=0); 36/2=18(r=0); 
18/2=9(r=0); 9/2=4(r=1); 4/2=2(r=0); 2/2=1(r=0); =0(r=1) 
Octal  binary 
101:110:101:101 
Binary  hexadecimal 
1011:1010:1101 
   B      A      D 
Solution 1 
 Binary  decimal 
 001100 = 12 
 11100.011 = 28.375 
 Decimal  binary 
 145 = 10010001  
 34.75 = 100010.11  
 Octal  hexadecimal 
  octal  binary  hexadecimal 
 5655
8
 = BAD  
0x2
-1
+1x2
-2
+1x2
-3 
0.75 x 2 = 1.5 
0.5 x 2 = 1.0 
Exercise 2 
 Binary  decimal 
 110011.10011 
 Decimal  binary 
 25.25 
 Octal  hexadecimal 
 12
8 
B 
11001.01  
51.59375  
Representation of integer, character and 
floating point numbers in binary 
Introduction 
Machine instructions operate on 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)) 
3. Characters  IRA (International Reference 
Alphabet), EBCDIC (Extended Binary Coded Decimal 
Interchange Code), ASCII (American Standard Code for 
Information Interchange) 
4. Logical Data 
- Those commonly used by computer users/programmers: signed 
integer, floating point numbers and characters 
Integer Representation 
 -1101.0101
2
 = -13.3125
10 
 Computer storage & 
processing  do not have 
benefit of minus signs (-) 
and periods. 
 Need to represent the integer  
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 
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. 
Examples:   
i) 8 bits binary number 
   __  __  __  __  __  __  __  __        
       7 bits for magnitude (value)     
 a)  +7 = 0 0 0 0 0 1 1 1    
   (7 = 10000111
2
) 
 b)  10 = 1 0 0 0 1 0 1 0  
    (+10 = 00001010
2
) 
Sign bit 
0 => +ve  1 => ve   
 ii) 6 bits binary number 
      __  __  __  __  __  __        
           5 bits for magnitude (value)     
   a)  +7 = 0 0 0 1 1 1       
    (7 = 1 0 0 1 1 1
2
) 
  b)  10 = 1 0 1 0 1 0  
        (+10 = 0 0 1 0 1 0
2
) 
Sign bit 
0 => +ve 1 => ve 
Ones Complement 
 In the ones complement representation, 
positive numbers are same as that of 
sign-and-magnitude 
      Example: +5 = 00000101 (8 bit)  
   as in sign-and-magnitude representation  
 Sign-and-magnitude and ones complement 
use the same representation above for +5 
with 8 bits and all positive numbers. 
 For negative numbers, their 
representation are obtained by changing 
bit 0  1 and 1  0 from their positive 
numbers 
Example: 
Convert 5 into ones complement 
representation (8 bit) 
Solution: 
 First, obtain +5 representation 
in 8 bits  00000101 
 Change every bit in the number 
from 0 to 1 and vice-versa.  
 5
10
 in ones complement is 
11111010
2 
Exercise:  
Get the representation of ones 
complement (6 bit) for the 
following numbers:  
  i) +7
10
           ii) 10
10 
Solution:  
(+7) = 000111
2         
Solution:  
(+10)
10
 = 001010
2  
So,  
(-10)
10
 = 110101
2         
Twos complement 
 Similar to ones complement, its 
positive number is same as sign-
and-magnitude  
 Representation of its negative 
number is obtained by adding 1 to 
the ones complement of the number.   
Example: 
Convert 5 into twos complement 
representation and give the answer 
in 8 bits.   
Solution: 
 First, obtain +5 representation in 8 
bits  00000101
2 
 Obtain ones complement for 5  
   11111010
2 
 Add 1 to the ones complement number:    
   11111010
2
 + 1
2
 = 11111011
2 
 5 in twos complement is 11111011
2 
Exercise: 
 Obtain representation of twos 
complement (6 bit) for the 
following numbers 
  i) +7
10
      ii)10
10  
Solution:  
(+7) = 000111
2 
(same as sign-magnitude) 
Solution:  
(+10) 
10
 = 001010
2  
(-10) 
10
 = 110101
2 
 + 1
2 
         = 110110
2 
So, twos compliment 
for 10 is 110110
2 
Exercise: 
Obtain representation for the following 
numbers 
Decimal  Sign-magnitude  Twos complement 
+7 
+6 
-4 
-6 
-7 
+18 
-18 
-13 
4 bits 
8 bits 
Solution: 
Obtain representation for the following 
numbers 
Decimal  Sign-magnitude  Twos complement 
+7  0111  0111 
+6  0110  0110 
-4  1100  1100 
-6  1110  1010 
-7  1111  1001 
+18  00010010  00010010 
-18  10010010  11101110 
-13  11110010   11110011  
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 
Floating point representation 
 In binary, 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) Significant S    
iii) Exponent E 
   and B is base is implicit and 
need not be stored because it is 
the same for all numbers (base-
2). 
Binary Arithmetics 
1. Addition ( + ) 
   0 + 0 = 0 
   0 + 1 = 1 
   1 + 0 = 1 
   1 + 1 = 10 
   1 + 1 + 1 = (1 + 1) + 1 = 10 + 1 = 11
2  
 Example: 
  i.  010111
2
 + 011110
2
 = 110101
2 
 ii.  100011
2
 + 011100
2
 = 111111
2 
010111 
011110  + 
110101 
2.   Multiplication ( x ) 
          0 x 0 = 0 
          0 x 1 = 0 
          1 x 0 = 0 
          1 x 1 = 1 
3.   Subtraction (  ) 
             0  0 = 0 
             0  1 = 1 (borrow 1) 
             1  0 = 1 
             1  1 = 0  
4.   Division ( / ) 
          0 / 1 = 0 
          1 / 1 = 1 
Example: 
i.  010111
2
 - 001110
2
 = 001001
2   
ii. 100011
2
 - 011100
2
 = 000111
2 
Exercise: 
   i. 1000100  010010 
  ii. 1010100 + 1100 
 iii. 110100  1001 
 iv. 11001 x 11  
   v. 110111 + 001101 
  vi. 111000 + 1100110 
 vii. 110100 x 10 
viii. 11001 - 1110 
Arithmetic Operations for Ones Complement, 
Twos Complement, sign-and-magnitude and 
floating point number  
Addition and subtraction for 
signed integers 
Reminder: All subtraction 
operations will be changed into 
addition operations 
Example:   8  5 = 8 + (5) 
      10 + 2 = (10) + 2 
      6  (3) = 6 + 3 
Sign-and-Magnitude 
Z = X + Y 
There are a few possibilities: 
i. If both numbers,  X and Y are 
positive 
o Just perform the addition operation  
Example:  
 5
10
 + 3
10
 = 000101
2
 + 000011
2 
 = 001000
2 
 = 8
10 
ii. If both numbers are negative 
o Add |X| and |Y| and set the sign bit = 1 
to the result, Z 
Example: 3
10
  4
10
 = (3) + (4) 
   = 100011
2
 + 100100
2 
  Only add the magnitude, i.e.: 
00011
2 
+ 00100
2 
= 00111
2 
  Set the sign bit of the result 
(Z) to 1 (ve) 
   = 100111
2 
   = 7
10 
iii. If signs of both number differ 
o 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  
Sample solution: 
Change the sign bit of the ve number to 
+ve  
(2) + (+4)   = 100010
2
 + 000100
2 
      = 000100
2
  000010
2 
      = 000010
2
 = 2
10   
b) | ve Number | > |  +ve Number | 
 Subtract the +ve number from the ve number 
Example:  (+3
10
) + (5
10
)   
      = 000011
2
 + 100101
2 
      = 100101
2
  000011
2 
      = 100010
2 
      = 2
10 
Ones complement 
 In ones complement, it is easier than sign-
and-magnitude  
 Change the numbers to its representation 
and perform the addition operation  
 However a situation called Overflow might 
occur when addition is performed on the 
following categories:   
1. If both are negative numbers 
2. If both are in difference sign and  
   |+ve Number| > | ve Number| 
Overflow => the addition result 
exceeds the number of bits that was 
fixed   
1. Both are  ve numbers 
Example: 3
10
  4
10
 = (3
10
) + (4
10
) 
Solution: 
Convert 3
10
 and 4
10
 into ones 
complement representation 
  +3
10
 = 00000011
2
 (8 bits)  
  3
10
 = 11111100
2 
  +4
10
 = 00000100
2
 (8 bits)  
  4
10
 = 11111011
2 
 Perform the addition operation  
(3
10
)  => 11111100 (8 bit) 
+(4
10
) => 11111011 (8 bit) 
  7
10
    111110111 (9 bit)      
      11110111 
+           1 
     11111000
2
   = 7
10 
Overflow occurs. This value is called EAC and needs to be 
added to the rightmost bit.     
the answer 
2. | +ve Number| > |ve Number| 
 This case will also cause an 
overflow 
Example: (2) + 4 = (2) + (+4) 
Solution: 
 Change both of the numbers above 
into ones complement 
representation 
  2 = 11111101
2
 +4 = 00000100
2 
 Add both of the numbers 
  (2
10
)  => 11111101 (8 bit) 
+ (+4
10
)  => 00000100 (8 bit)  
There is an EAC 
  +2
10
      100000001 (9 bit)  
 Add the EAC to the rightmost bit 
            00000001 
       +           1 
00000010
2
   = +2
10 
the answer 
Note: 
For cases other than 1 & 2 above, overflow does not occur 
and there will be no EAC and the need to perform addition to 
the rightmost bit does not arise   
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 are in difference 
and |+ve Number| > |ve 
Number| 
Both numbers are  ve 
Example: 3
10
  4
10
 = (3
10
) + (4
10
) 
Solution: 
 Convert both numbers into twos 
complement representation  
+3
10
 = 000011
2
 (6 bit)  
3
10
 = 111100
2 
(ones complement) 
3
10
 = 111101
2 
(twos complement)   
4
10
 = 111011
2 
(ones complement) 
4
10 
= 111100
2 
(twos complement)   
             111100 (3
10
) 
             111011 (4
10
)      
  = 111001
2
 (twos complement) 
  = 7
10  
 Perform addition operation on both 
the numbers in twos complement 
representation and ignore the EAC. 
       1111001 
Ignore the 
EAC  
The answer  
 Note: 
 In twos complement, EAC is 
ignored (do not need to be added 
to the leftmost bit, like that of 
ones complement)  
2.  | +ve Number| > |ve Number|  
Example: (2) + 4 = (2) + (+4) 
  Solution: 
 Change both of the numbers above 
into twos complement representation 
     2 = 111110
2
   +4 = 000100
2 
 Perform addition operation on both 
numbers 
      (2
10
)  => 111110 (6 bit) 
+     (+4
10
)  => 000100 (6 bit) 
        +2
10
    1000010                                        
         Ignore the EAC 
The answer is 000010
2
  = +2
10 
Note: For cases other than 1 and 2 
above, overflow does not occur. 
Exercise:  
 Perform the following arithmetic 
operations in ones complement and also 
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