Advertisement
GogoK

unfinished

Mar 2nd, 2015
303
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 6.77 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. class NumeralSystemConversions
  8. {
  9.     static void Main()
  10.     {
  11.         while (true)
  12.         {
  13.             Console.WriteLine(@"{1} Convert Decimal to Binary.
  14. {2} Convert Decimal to Hexadecimal.
  15. {3} Convert Binary  to Decimal.
  16. {4} Convert Binary  to Hexadecimal.
  17. {5} Convert Hexadecimal to Decimal.
  18. {6} Convert Hexadecimal to Binary.
  19. {9} Exit." + "\r\n");
  20.  
  21.             string input = Console.ReadLine();
  22.             int answer;
  23.             bool checkInput = int.TryParse(input, out answer);
  24.  
  25.             if (answer == 1)
  26.             {
  27.                                                     //Convert 1234d to binary
  28.                 Console.Write("Decimal:  ");
  29.                 string inputDB = Console.ReadLine();
  30.                 int decimBin;
  31.                 bool checkinputDB = int.TryParse(inputDB, out decimBin);
  32.  
  33.                 string binN = "";
  34.  
  35.                 while (decimBin > 0)
  36.                 {
  37.                     int residue = decimBin % 2;
  38.                     decimBin /= 2;
  39.                     binN = residue + binN;
  40.                 }
  41.                
  42.                 Console.WriteLine("\r\nBinary Result:");
  43.                 Console.WriteLine("{0}", binN.PadLeft(16, '0'));
  44.                 Console.WriteLine("{0}", binN);
  45.             }
  46.  
  47.             else if (answer == 2)
  48.             {
  49.                                         //  Convert 1234d to hexadecimal
  50.                 Console.Write("Decimal:  ");
  51.                 string inputDB = Console.ReadLine();
  52.                 int decimHex;
  53.                 bool checkinputDB = int.TryParse(inputDB, out decimHex);
  54.  
  55.                 string hexN = "";
  56.  
  57.                 while (decimHex > 0)
  58.                 {
  59.                     int residue = decimHex % 16;
  60.                     decimHex /= 16;
  61.                     switch (residue)
  62.                     {
  63.                         case 10: hexN = 'A' + hexN; break;
  64.                         case 11: hexN = 'B' + hexN; break;
  65.                         case 12: hexN = 'C' + hexN; break;
  66.                         case 13: hexN = 'D' + hexN; break;
  67.                         case 14: hexN = 'E' + hexN; break;
  68.                         case 15: hexN = 'F' + hexN; break;
  69.                         default: hexN = residue + hexN; break;
  70.                     }
  71.                 }
  72.                 Console.WriteLine("\r\nHexadecimal Result:");
  73.                 Console.WriteLine(hexN);
  74.             }
  75.  
  76.             else if (answer == 3)
  77.             {
  78.                 //// Convert 1100101b to decimal        ------------
  79.                 string binD = "1100101";
  80.                 int count = 0;
  81.                 int pow = binD.Length - 1;
  82.                 double decimNumb = 0;
  83.  
  84.                 foreach (var item in binD)
  85.                 {
  86.                     decimNumb += Math.Pow(((int)item % 2) * 2, pow - count);
  87.                     count++;
  88.                 }
  89.                 Console.WriteLine(decimNumb);
  90.             }
  91.             else if (answer == 4)
  92.             {
  93.                 // Convert 1100101b to hexadecimal      ------------
  94.                 string binH = "1100101";
  95.                 string strHex = Convert.ToInt32(binH, 2).ToString("X");
  96.                 Console.WriteLine(strHex);
  97.             }
  98.             else if (answer == 5)
  99.             {
  100.                 ////Convert ABChex to decimal
  101.                 string hexD = "A0A";
  102.                 int count = (hexD.Length - 1);
  103.                 double deciSum = 0;
  104.                 foreach (var item in hexD)
  105.                 {
  106.                     switch (item)
  107.                     {
  108.                         case '1': deciSum += 1 * Math.Pow(16, count); break;
  109.                         case '2': deciSum += 2 * Math.Pow(16, count); break;
  110.                         case '3': deciSum += 3 * Math.Pow(16, count); break;
  111.                         case '4': deciSum += 4 * Math.Pow(16, count); break;
  112.                         case '5': deciSum += 5 * Math.Pow(16, count); break;
  113.                         case '6': deciSum += 6 * Math.Pow(16, count); break;
  114.                         case '7': deciSum += 7 * Math.Pow(16, count); break;
  115.                         case '8': deciSum += 8 * Math.Pow(16, count); break;
  116.                         case '9': deciSum += 9 * Math.Pow(16, count); break;
  117.                         case 'A': deciSum += 10 * Math.Pow(16, count); break;
  118.                         case 'B': deciSum += 11 * Math.Pow(16, count); break;
  119.                         case 'C': deciSum += 12 * Math.Pow(16, count); break;
  120.                         case 'D': deciSum += 13 * Math.Pow(16, count); break;
  121.                         case 'E': deciSum += 14 * Math.Pow(16, count); break;
  122.                         case 'F': deciSum += 15 * Math.Pow(16, count); break;
  123.                     }
  124.                     count--;
  125.                 }
  126.                 Console.WriteLine(deciSum);
  127.  
  128.             }
  129.             else if (answer == 6)
  130.             {
  131.                 //Convert ABChex to binary
  132.                 string hexB = "FFFF";
  133.                 int count = (hexB.Length - 1);
  134.                 string binSum = "";
  135.  
  136.                 foreach (var item in hexB)
  137.                 {
  138.                     switch (item)
  139.                     {
  140.                         case '0': binSum = "0000"; break;
  141.                         case '1': binSum = "0001"; break;
  142.                         case '2': binSum = "0010"; break;
  143.                         case '3': binSum = "0011"; break;
  144.                         case '4': binSum = "0100"; break;
  145.                         case '5': binSum = "0101"; break;
  146.                         case '6': binSum = "0110"; break;
  147.                         case '7': binSum = "0111"; break;
  148.                         case '8': binSum = "1000"; break;
  149.                         case '9': binSum = "1001"; break;
  150.                         case 'A': binSum = "1010"; break;
  151.                         case 'B': binSum = "1011"; break;
  152.                         case 'C': binSum = "1100"; break;
  153.                         case 'D': binSum = "1101"; break;
  154.                         case 'E': binSum = "1110"; break;
  155.                         case 'F': binSum = "1111"; break;
  156.                     }
  157.                     Console.Write(binSum);
  158.                     Console.Write(" ");
  159.                 }
  160.                 Console.WriteLine();
  161.                 //Console.WriteLine(binSum);
  162.             }
  163.  
  164.             else if (answer == 9)
  165.             {
  166.                 return;
  167.             }
  168.             Console.ReadKey();
  169.             Console.Clear();
  170.         }
  171.     }
  172. }
  173.  
  174. /*
  175.     Convert 1234d to binary and hexadecimal numeral systems.
  176.     Convert 1100101b to decimal and hexadecimal numeral systems.
  177.     Convert ABChex to decimal and binary numeral systems.
  178.  
  179.  */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement