| Code Conversion | 
 |  | Converting from one code form to another code form is called code conversion, like converting from binary to decimal or converting from hexadecimal to decimal.  | 
|   |   |  | 
|   |   | Binary-To-Decimal Conversion | 
 |  | Any binary number can be converted to its decimal equivalent simply by summing together the weights of the various positions in the binary number which contain a 1.  | 
|   |   |  | 
 |  | 
Binary  | Decimal  |  
110112  |  |  
24+23+01+21+20  | =16+8+0+2+1  |  
Result  | 2710  |  
  | 
|   |   |  | 
 |  | and  | 
|   |   |  | 
 |  | 
Binary  | Decimal  |  
101101012  |  |  
27+06+25+24+03+22+01+20  | =128+0+32+16+0+4+0+1  |  
Result  | 18110  |  
  | 
|   |   |  | 
 |  | You should have noticed that the method is to find the weights (i.e., powers of 2) for each bit position that contains a 1, and then to add them up.  | 
|   |   |  | 
|   |   | Decimal-To-Binary Conversion | 
|   |   |  | 
 |  | There are 2 methods:  | 
|   |   |  | 
 |  | - Reverse of Binary-To-Decimal Method
 
- Repeat Division
 
  | 
|   |   |  | 
|   |   | Reverse of Binary-To-Decimal Method | 
|   |   |  | 
 |  | 
Decimal  | Binary  |  
4510  | =32 + 0 + 8 + 4 +0 + 1  |  
 | =25+0+23+22+0+20  |  
Result  | =1011012  |  
  | 
|   |   |  | 
|   |   |  | 
|   |   | Repeat Division-Convert decimal to binary | 
 |  | This method uses repeated division by 2.  | 
|   |   |  | 
 |  | Convert 2510 to binary  | 
|   |   |  | 
 |  | 
Division  | Remainder  | Binary  |  
25/2  | = 12+ remainder of 1  | 1 (Least Significant Bit)  |  
12/2  | = 6 + remainder of 0  | 0  |  
6/2  | = 3 + remainder of 0  | 0  |  
3/2  | = 1 + remainder of 1  | 1  |  
1/2  | = 0 + remainder of 1  | 1 (Most Significant Bit)  |  
Result  | 2510  | = 110012  |  
  | 
|   |   |  | 
 |  | The Flow chart for repeated-division method is as follows:  | 
|   |   |  | 
 |  |   | 
|   |   |  | 
 |  |  | 
|   |   |  | 
|   |   | Binary-To-Octal / Octal-To-Binary Conversion | 
|   |   |  | 
 |  | 
Octal Digit  | 0  | 1  | 2  | 3  | 4  | 5  | 6  | 7  |  
Binary Equivalent  | 000  | 001  | 010  | 011  | 100  | 101  | 110  | 111  |  
  | 
|   |   |  | 
 |  | Each Octal digit is represented by three binary digits.  | 
|   |   |  | 
 |  | Example:  | 
 |  | 100 111 0102 = (100) (111) (010)2 = 4 7 28  | 
|   |   |  | 
|   |   | Repeat Division-Convert decimal to octal | 
|   |   |  | 
 |  | This method uses repeated division by 8.  | 
|   |   |  | 
 |  | Example: Convert 17710 to octal and binary  | 
|   |   |  | 
 |  | 
Division  | Result  | Binary  |  
177/8  | = 22+ remainder of 1  | 1 (Least Significant Bit)  |  
22/ 8  | = 2 + remainder of 6  | 6  |  
2 / 8  | = 0 + remainder of 2  | 2 (Most Significant Bit)  |  
Result  | 17710  | = 2618  |  
Binary  |  | = 0101100012  |  
  | 
|   |   |  | 
|   |   | Hexadecimal to Decimal/Decimal to Hexadecimal Conversion | 
|   |   |  | 
 |  | Example:  | 
 |  | 2AF16 = 2 x (162) + 10 x (161) + 15 x (160) = 68710  | 
|   |   |  | 
|   |   | Repeat Division- Convert decimal to hexadecimal | 
 |  | This method uses repeated division by 16.  | 
|   |   |  | 
 |  | Example: convert 37810 to hexadecimal and binary:  | 
|   |   |  | 
 |  | 
Division  | Result  | Hexadecimal  |  
378/16  | = 23+ remainder of 10  | A (Least Significant Bit)23  |  
23/16  | = 1 + remainder of 7  | 7  |  
1/16  | = 0 + remainder of 1  | 1 (Most Significant Bit)  |  
Result  | 37810  | = 17A16  |  
Binary  |  | = 0001 0111 10102  |  
  | 
|   |   |  | 
|   |   | Binary-To-Hexadecimal /Hexadecimal-To-Binary Conversion | 
|   |   |  | 
 |  | 
Hexadecimal Digit  | 0  | 1  | 2  | 3  | 4  | 5  | 6  | 7  |  
Binary Equivalent  | 0000  | 0001  | 0010  | 0011  | 0100  | 0101  | 0110  | 0111  |  
  | 
|   |   |  | 
 |  | 
Hexadecimal Digit  | 8  | 9  | A  | B  | C  | D  | E  | F  |  
Binary Equivalent  | 1000  | 1001  | 1010  | 1011  | 1100  | 1101  | 1110  | 1111  |  
  | 
|   |   |  | 
 |  | Each Hexadecimal digit is represented by four bits of binary digit.  | 
|   |   |  | 
 |  | Example:  | 
|   |   |  | 
 |  | 1011 0010 11112 = (1011) (0010) (1111)2 = B 2 F16  | 
|   |   |  | 
|   |   | Octal-To-Hexadecimal Hexadecimal-To-Octal Conversion | 
|   |   |  | 
 |  | - Convert Octal (Hexadecimal) to Binary first.
 
- Regroup the binary number by three bits per group starting from LSB if Octal is required.
 
- Regroup the binary number by four bits per group starting from LSB if Hexadecimal is required.
 
  | 
|   |   |  | 
 |  | Example:  | 
|   |   |  | 
 |  | Convert 5A816 to Octal.  | 
|   |   |  | 
 |  | 
Hexadecimal  | Binary/Octal  |  
5A816  | = 0101 1010 1000 (Binary)  |  
 | = 010 110 101 000 (Binary)  |  
Result  | = 2 6 5 0 (Octal)  |  
  | 
|   |   |  | 
|   |   |  | 
|   |   |  | 
 |  |  | 
 
No comments:
Post a Comment