Вопрос задан 27.07.2023 в 07:56. Предмет Информатика. Спрашивает Лубченков Иван.

Написать программу на C# Перевести число из системы счисления с основанием A в систему с

основанием B. Можно считать, что 2 ≤ A, B ≤ 10, а число дано в виде массива цифр.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Галас Діма.

Код и результаты работы на скриншоте. Работать будет для A и B меньших или равных 62. Дальше просто символов не придумал.



0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для перевода числа из системы счисления с основанием A в систему с основанием B, можно использовать следующую C# программу. Программа принимает число в виде массива цифр, основание системы счисления A и основание системы счисления B, а затем выводит результат перевода в виде массива цифр.

csharp
using System; namespace NumberBaseConversion { class Program { static void Main(string[] args) { // Примеры для тестирования программы int[] number = { 1, 0, 1 }; // Число в системе счисления с основанием A (пример: число 101 в двоичной системе) int A = 2; // Основание системы счисления A int B = 8; // Основание системы счисления B int[] result = ConvertBase(number, A, B); // Выводим результат Console.WriteLine($"Число {ArrayToString(number, A)} в системе с основанием {A} равно {ArrayToString(result, B)} в системе с основанием {B}."); } // Функция для перевода числа из системы счисления с основанием A в систему счисления с основанием B static int[] ConvertBase(int[] number, int A, int B) { int base10 = ConvertToBase10(number, A); int[] result = ConvertFromBase10(base10, B); return result; } // Функция для перевода числа из A-ичной системы счисления в десятичную систему static int ConvertToBase10(int[] number, int A) { int base10 = 0; int power = 1; for (int i = number.Length - 1; i >= 0; i--) { base10 += number[i] * power; power *= A; } return base10; } // Функция для перевода числа из десятичной системы счисления в B-ичную систему static int[] ConvertFromBase10(int base10, int B) { if (base10 == 0) return new int[] { 0 }; int length = 0; int temp = base10; while (temp > 0) { temp /= B; length++; } int[] result = new int[length]; int index = 0; while (base10 > 0) { result[index] = base10 % B; base10 /= B; index++; } // Результат хранится в обратном порядке, поэтому переворачиваем массив Array.Reverse(result); return result; } // Функция для преобразования массива чисел в строку static string ArrayToString(int[] arr, int @base) { string result = ""; foreach (int num in arr) { result += num.ToString(); } return result + $" ({@base}-ичное)"; } } }

Примечание:

  • В примере использованы числа 101 в двоичной системе (A = 2) и основание 8 для получения результата в восьмеричной системе счисления (B = 8). Вы можете изменить значение переменных number, A и B в методе Main для тестирования с разными числами и основаниями систем счисления.
0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос