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;
- //Write a program to convert from any numeral system of given base s to any other numeral system of base d (2 ≤ s, d ≤ 16).
- class ConvertAnyToAny
- {
- static void Main()
- {
- Console.Write("Enter the entrance number base: ");
- int s = int.Parse(Console.ReadLine());
- Console.Write("Enter a number in the chosen numeral system: ");
- string numberInput = Console.ReadLine();
- Console.Write("Enter the result number base: ");
- int d = int.Parse(Console.ReadLine());
- int decimalInput = SToDecimal(numberInput, s);
- DecimalToD(decimalInput, d);
- }
- static void DecimalToD(int number,int d)
- {
- StringBuilder printNum = new StringBuilder();
- while (number != 0)
- {
- char addingChar = ' ';
- switch (number % d)
- {
- case 0: addingChar = '0'; break;
- case 1: addingChar = '1'; break;
- case 2: addingChar = '2'; break;
- case 3: addingChar = '3'; break;
- case 4: addingChar = '4'; break;
- case 5: addingChar = '5'; break;
- case 6: addingChar = '6'; break;
- case 7: addingChar = '7'; break;
- case 8: addingChar = '8'; break;
- case 9: addingChar = '9'; break;
- case 10: addingChar = 'A'; break;
- case 11: addingChar = 'B'; break;
- case 12: addingChar = 'C'; break;
- case 13: addingChar = 'D'; break;
- case 14: addingChar = 'E'; break;
- case 15: addingChar = 'F'; break;
- }
- printNum.Insert(0,addingChar);
- number /= d;
- }
- Console.WriteLine(printNum.ToString());
- }
- static int SToDecimal(string input,int s)
- {
- int result = 0;
- for (int i = 0; i < input.Length; i++)
- {
- result += Powing(input[input.Length-(i+1)], i, s);
- }
- return result;
- }
- static int Powing(char inputInt, int i, int s)
- {
- if (inputInt != '0')
- {
- int result = 1;
- switch (inputInt)
- {
- case '0': result = 0; break;
- case '1': result = 1; break;
- case '2': result = 2; break;
- case '3': result = 3; break;
- case '4': result = 4; break;
- case '5': result = 5; break;
- case '6': result = 6; break;
- case '7': result = 7; break;
- case '8': result = 8; break;
- case '9': result = 9; break;
- case 'A': result = 10; break;
- case 'B': result = 11; break;
- case 'C': result = 12; break;
- case 'D': result = 13; break;
- case 'E': result = 14; break;
- case 'F': result = 15; break;
- }
- for (int g = 0; g < i; g++)
- {
- result *= s;
- }
- return result;
- }
- return 0;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement