Перевод числа из двоичной системы счисления в 16-ричную - C#
Формулировка задачи:
Добрый день!
Как перевести числа из двоичной системы счисления в 16-ричную, не используя Convert.ToString?
Спасибо большое
Решение задачи: «Перевод числа из двоичной системы счисления в 16-ричную»
textual
Листинг программы
using System;
class BINtoHEX
{
static void Main()
{
char[] hexdgts = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
Console.Write("BIN : ");
string bin = Console.ReadLine(),hex = "";
int h=0;
for (int i = bin.Length-1, j = 0,c=1; i >= 0; i--,j++,c++)
{
h += bin[i] == '1' ? (int)Math.Pow(2, j) : 0;
if((c % 4 ==0 || i ==0)&& i != bin.Length-1)
{
hex = hexdgts[h] + hex;
h =0;
c = 0;
j = -1;
}
}
Console.WriteLine("HEX : "+hex);
Console.ReadKey(true);
}
}