Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

тюмгу / эвм

.txt
Скачиваний:
4
Добавлен:
08.12.2019
Размер:
2.19 Кб
Скачать
int num1 = 5; // хранит основание системы счисления в которую переводим
string s1; // хранит входное k - чное число
Console.Write("Введите число в 5-й СС:");
s1 = Console.ReadLine();
int ress1 = 0; // хранит ответ в десятичном представлении
int j = 0;
for (int i = s1.Length - 1; i >= 0; i--)
{
ress1 = (int)(ress1 + ((int)s1[i] - (int)'0') * Math.Pow(num1, j));
j++;
}

int num2 = 13; // хранит основание системы счисления в которую переводим
string s2; // хранит входное k - чное число
Console.Write("Введите число в 13-й СС:");
s2 = Console.ReadLine();
int ress2 = 0; // хранит ответ в десятичном представлении
int j1 = 0;
for (int i = s2.Length - 1; i >= 0; i--)
{
ress2 = (int)(ress2 + ((int)s2[i] - (int)'0') * Math.Pow(num2, j1));
j1++;
}


int k = 5; // хранит основание системы счисления в которую переводим
int n = ress1 + ress2; // хранит входное 10 - чное число
string res = ""; // хранит ответ, т е девятиричное представление входного целого числа

while (n != 0) // пока входное число не стало НУЛЕМ
{
int rem = n % k; // отвечает за остаток при делении текущего n пополам
n = n / k; // уменьшаем входное в два раза
if (rem > 5) // если остаток больше 5, т е переводим в систему счисления по основанию больше чем 10
{
rem = rem + ((int)'A' - 10); // заменяем двузначные числа их символьными эквивалентами, т е 10 -> 'A', 11 -> 'B', ..., 15 -> 'F'
res = (char)rem + res; // добавляем остаток в начало ответа
}
else
res = rem.ToString() + res;
// метод ToString() преобразует число в строковое представление, т е 1 -> "1"
}
Console.WriteLine("Первое число + второе число в 5-Й СС " + res);