Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- class NumeralSystemConversions
- {
- static void Main()
- {
- while (true)
- {
- Console.WriteLine(@"{1} Convert Decimal to Binary.
- {2} Convert Decimal to Hexadecimal.
- {3} Convert Binary to Decimal.
- {4} Convert Binary to Hexadecimal.
- {5} Convert Hexadecimal to Decimal.
- {6} Convert Hexadecimal to Binary.
- {9} Exit." + "\r\n");
- string input = Console.ReadLine();
- int answer;
- bool checkInput = int.TryParse(input, out answer);
- if (answer == 1)
- {
- //Convert 1234d to binary
- Console.Write("Decimal: ");
- string inputDB = Console.ReadLine();
- int decimBin;
- bool checkinputDB = int.TryParse(inputDB, out decimBin);
- string binN = "";
- while (decimBin > 0)
- {
- int residue = decimBin % 2;
- decimBin /= 2;
- binN = residue + binN;
- }
- Console.WriteLine("\r\nBinary Result:");
- Console.WriteLine("{0}", binN.PadLeft(16, '0'));
- Console.WriteLine("{0}", binN);
- }
- else if (answer == 2)
- {
- // Convert 1234d to hexadecimal
- Console.Write("Decimal: ");
- string inputDB = Console.ReadLine();
- int decimHex;
- bool checkinputDB = int.TryParse(inputDB, out decimHex);
- string hexN = "";
- while (decimHex > 0)
- {
- int residue = decimHex % 16;
- decimHex /= 16;
- switch (residue)
- {
- case 10: hexN = 'A' + hexN; break;
- case 11: hexN = 'B' + hexN; break;
- case 12: hexN = 'C' + hexN; break;
- case 13: hexN = 'D' + hexN; break;
- case 14: hexN = 'E' + hexN; break;
- case 15: hexN = 'F' + hexN; break;
- default: hexN = residue + hexN; break;
- }
- }
- Console.WriteLine("\r\nHexadecimal Result:");
- Console.WriteLine(hexN);
- }
- else if (answer == 3)
- {
- //// Convert 1100101b to decimal ------------
- string binD = "1100101";
- int count = 0;
- int pow = binD.Length - 1;
- double decimNumb = 0;
- foreach (var item in binD)
- {
- decimNumb += Math.Pow(((int)item % 2) * 2, pow - count);
- count++;
- }
- Console.WriteLine(decimNumb);
- }
- else if (answer == 4)
- {
- // Convert 1100101b to hexadecimal ------------
- string binH = "1100101";
- string strHex = Convert.ToInt32(binH, 2).ToString("X");
- Console.WriteLine(strHex);
- }
- else if (answer == 5)
- {
- ////Convert ABChex to decimal
- string hexD = "A0A";
- int count = (hexD.Length - 1);
- double deciSum = 0;
- foreach (var item in hexD)
- {
- switch (item)
- {
- case '1': deciSum += 1 * Math.Pow(16, count); break;
- case '2': deciSum += 2 * Math.Pow(16, count); break;
- case '3': deciSum += 3 * Math.Pow(16, count); break;
- case '4': deciSum += 4 * Math.Pow(16, count); break;
- case '5': deciSum += 5 * Math.Pow(16, count); break;
- case '6': deciSum += 6 * Math.Pow(16, count); break;
- case '7': deciSum += 7 * Math.Pow(16, count); break;
- case '8': deciSum += 8 * Math.Pow(16, count); break;
- case '9': deciSum += 9 * Math.Pow(16, count); break;
- case 'A': deciSum += 10 * Math.Pow(16, count); break;
- case 'B': deciSum += 11 * Math.Pow(16, count); break;
- case 'C': deciSum += 12 * Math.Pow(16, count); break;
- case 'D': deciSum += 13 * Math.Pow(16, count); break;
- case 'E': deciSum += 14 * Math.Pow(16, count); break;
- case 'F': deciSum += 15 * Math.Pow(16, count); break;
- }
- count--;
- }
- Console.WriteLine(deciSum);
- }
- else if (answer == 6)
- {
- //Convert ABChex to binary
- string hexB = "FFFF";
- int count = (hexB.Length - 1);
- string binSum = "";
- foreach (var item in hexB)
- {
- switch (item)
- {
- case '0': binSum = "0000"; break;
- case '1': binSum = "0001"; break;
- case '2': binSum = "0010"; break;
- case '3': binSum = "0011"; break;
- case '4': binSum = "0100"; break;
- case '5': binSum = "0101"; break;
- case '6': binSum = "0110"; break;
- case '7': binSum = "0111"; break;
- case '8': binSum = "1000"; break;
- case '9': binSum = "1001"; break;
- case 'A': binSum = "1010"; break;
- case 'B': binSum = "1011"; break;
- case 'C': binSum = "1100"; break;
- case 'D': binSum = "1101"; break;
- case 'E': binSum = "1110"; break;
- case 'F': binSum = "1111"; break;
- }
- Console.Write(binSum);
- Console.Write(" ");
- }
- Console.WriteLine();
- //Console.WriteLine(binSum);
- }
- else if (answer == 9)
- {
- return;
- }
- Console.ReadKey();
- Console.Clear();
- }
- }
- }
- /*
- Convert 1234d to binary and hexadecimal numeral systems.
- Convert 1100101b to decimal and hexadecimal numeral systems.
- Convert ABChex to decimal and binary numeral systems.
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement