Advertisement
dimipan80

6.18Loops_ConvertHexadecimalNumberToDecimalSystem

Mar 31st, 2014
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.81 KB | None | 0 0
  1. using System;
  2.  
  3. class ConvertHexadecimalNumberToDecimalSystem
  4. {
  5.     static void Main ()
  6.     {
  7.         Console.WriteLine("Enter your Hexadecimal number, without first '0x'-index:");
  8.         Console.Write("HEXADECIMAL NUM = ");
  9.         string hexadecimalStr = Console.ReadLine();
  10.         byte [] hexadecs = new byte [hexadecimalStr.Length];
  11.         for (int i = 0; i < hexadecimalStr.Length; i++)
  12.         {
  13.             hexadecs [i] = ConvertHexadecsToIntegers(hexadecimalStr [i]);
  14.         }
  15.         Array.Reverse(hexadecs);
  16.  
  17.         long numDecimal = 0;
  18.         long multiplier = 1;
  19.         checked
  20.         {
  21.             foreach (var digit in hexadecs)
  22.             {
  23.                 numDecimal += (digit * multiplier);
  24.                 multiplier *= 16;
  25.             }            
  26.         }
  27.  
  28.         Console.WriteLine("The Hexadecimal number in Decimal system looks like:");
  29.         Console.WriteLine("DECIMAL NUM = {0} !", numDecimal);
  30.         Console.ReadLine();
  31.     }
  32.  
  33.     static byte ConvertHexadecsToIntegers (char symbol)
  34.     {
  35.         byte result = 0;
  36.         switch (symbol)
  37.         {
  38.             case '0': result = 0; break;
  39.             case '1': result = 1; break;
  40.             case '2': result = 2; break;
  41.             case '3': result = 3; break;
  42.             case '4': result = 4; break;
  43.             case '5': result = 5; break;
  44.             case '6': result = 6; break;
  45.             case '7': result = 7; break;
  46.             case '8': result = 8; break;
  47.             case '9': result = 9; break;
  48.             case 'A': result = 10; break;
  49.             case 'B': result = 11; break;
  50.             case 'C': result = 12; break;
  51.             case 'D': result = 13; break;
  52.             case 'E': result = 14; break;
  53.             case 'F': result = 15; break;            
  54.         }
  55.         return result;
  56.     }
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement