Перевод из десятичной в двоичную систему - C# (185418)
Формулировка задачи:
Нужно было сделать программу для перевода чисел из 10-й в 2-ю систему. В принципе как это делается - понятно, но не могу разобраться со 2 и 3 пунктами.
1. Исходное десятичное число делится на два (основание двоичной системы счисления).
2. В одну переменную записывается частное в виде целого числа, в другую – остаток в виде строки (если остатка нет, то записывается ноль).
3. Если частное не было равно нулю, то оно снова делится на два. Переменная, связанная со старым частным связывается с новым (прежнее частное теряется). Новый остаток с помощью операции конкатенации добавляется в начало строковой переменной, где хранятся остатки.
4. П. 3 продолжает повторяться до тех пор, пока частное не станет равно нулю.
static void Main(string[] args)
{
int num10 = 22;
int a = 0;
int i = 0;
int[] b = new int[10];
while (num10 >= 1)
{
a = num10 % 2;
b[i] = a;
i++;
num10 = num10 / 2;
Console.Write(a);
};
Console.ReadKey();
}
}
}Решение задачи: «Перевод из десятичной в двоичную систему»
textual
Листинг программы
int x = 1595;
string s1 = x.ToString("x");
string[] replacements = new string[]
{
"0000", "0001", "0010", "0011",
"0100", "0101", "0110", "0111",
"1000", "1001", "1010", "1011",
"1100", "1101", "1110", "1111"
};
string s2 = "";
foreach (char c in s1)
s2 += replacements[c >= 'a' ? c - 'a' + 10 : c - '0'];
Console.WriteLine(s1);
Console.WriteLine(s2);