Перевод дробной части числа из десятичной системы счисления в любую другую систему счисления - C#
Формулировка задачи:
Здравствуйте как перевести дробной части числа из десятичной системы счисления в любую другую систему счисления.
При переводе целых частей выходит все просто
а как сделать с дробными
Листинг программы
- static void Main(string[] args)
- {
- string text="5";
- string test;
- test= Convert.ToString(Convert.ToInt32(text, 10), 2);
- Console.WriteLine("{0}", test);
- Console.ReadLine();
- }
Решение задачи: «Перевод дробной части числа из десятичной системы счисления в любую другую систему счисления»
textual
Листинг программы
- static void Main(string[] args)
- {
- //Входная строка
- string text;
- text1 = Console.ReadLine();
- //Преобразование в double
- double text1;
- text1 = Convert.ToDouble(text);
- Console.WriteLine("{0}", text1);
- //Воруем целую часть
- string zel;
- zel = Convert.ToString(Convert.ToInt32(Math.Truncate(text1)), 2);
- int zel1 = Convert.ToInt32(Math.Truncate(text1));
- Console.WriteLine("{0}", zel, zel1);
- //Воруем дробную часть
- double text2;
- text2 = text1 - Math.Truncate(text1);
- Console.WriteLine("{0}", text2);
- //Фокус покус это цикл
- int cc;
- Console.WriteLine("Система счисления");
- cc = Convert.ToInt32(Console.ReadLine());
- double[] asd = new double[10];
- asd[0] = text2;
- string drob = null;
- for (int i = 1; i < 10; i++)
- {
- switch (cc)
- {
- case 2:
- asd[i] = (2 * asd[i - 1]) - Math.Truncate(asd[i - 1] * 2);
- int bin = Convert.ToInt32(Math.Truncate(asd[i - 1] * 2));
- Console.WriteLine("bin={0}", bin);
- drob += bin;
- break;
- case 8:
- asd[i] = (8 * asd[i - 1]) - Math.Truncate(asd[i - 1] * 8);
- double oct = Math.Truncate(asd[i - 1] * 8);
- Console.WriteLine("oct={0}", oct);
- drob += oct;
- break;
- case 16:
- asd[i] = (16 * asd[i - 1]) - Math.Truncate(asd[i - 1] * 16);
- string hex;
- hex = Convert.ToString(Math.Truncate(asd[i - 1] * 16));
- int ze;
- ze = Convert.ToInt32(hex);
- switch (ze)
- {
- case 10:
- hex = "A";
- break;
- case 11:
- hex = "B";
- break;
- case 12:
- hex = "C";
- break;
- case 13:
- hex = "D";
- break;
- case 14:
- hex = "E";
- break;
- case 15:
- hex = "F";
- break;
- default:
- break;
- }
- Console.WriteLine("hex={0}", hex);
- drob += hex;
- break;
- default:
- break;
- }
- }
- Console.WriteLine("{0}.{1}", zel, drob);
- Console.ReadLine();
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д