Вопрос задан 25.06.2023 в 18:29. Предмет Информатика. Спрашивает Ефремов Роман.

Паскаль.Число в двоичной системе счисления, введенное пользователем программы, преобразовать в

14-ричная. Результат вывести на экран
0 0
Перейти к ответам

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

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

Ответ:

//-----------------------------------------------------------------

function decToX(x:integer;k:integer):string;

// конвертирует x из десятичной системы счисления в систему счисления по основанию k (до 16-ричной, но можно расширить до какой угодно).

var s:string='';

   t:string='';

   i:integer;

begin

   while x>0 do begin

       i := x mod k;

       if i = 10 then t:='A'

       else if i = 11 then t:='B'

       else if i = 12 then t:='C'

       else if i = 13 then t:='D'

       else if i = 14 then t:='E'

       else if i = 15 then t:='F'

       else str(i, t);

       s:=t+s;

       x:=x div k;

   end;

   decToX := s;

end;

//-----------------------------------------------------------------

function xToDec(x:string; k:integer):integer;

// конвертирует x из системы счисления по основанию k (до 16-ричной) в десятичную

var s:string='';

   i,j,l:integer;

begin

   i:=length(x);

   l:=0;

   while i>0 do begin

       case x[i] of

           '0','1','2','3','4','5','6','7','8','9': val(x[i],j);

           'A': j:=10;

           'B': j:=11;

           'C': j:=12;

           'D': j:=13;

           'E': j:=14;

           'F': j:=15;

       end;

       l:=l+round(j*exp((length(x)-i)*ln(k)));

       i:=i-1;

   end;

   xToDec := l;

end;

//-----------------------------------------------------------------

var sbin:string;

// тело программы

// здесь мы вводим строку с двоичным кодом, далее конвертируем его в десятичную систему счисления, а после переводим в 14-ричную

begin

   write('Введите двоичное число: '); readln(sbin);

   writeln(decToX(xToDec(sbin,2),14));

   

end.

Объяснение:

Я написал универсальные функции перевода из любой системы счисления в десятичную и наоборот. Они расширяемые, так что можно не ограничиваться 16-ричной системой счисления.

Может быть написано чуть больше, чем необходимо, зато универсально :)

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

Для преобразования числа из двоичной системы счисления в 14-ричную в языке программирования Pascal, вы можете использовать следующий код:

pascal
program BinaryToQuaternary; var binaryNumber, quaternaryNumber: string; decimalNumber, quotient, remainder, base14Digit: integer; begin // Введите число в двоичной системе счисления Write('Введите число в двоичной системе счисления: '); Readln(binaryNumber); // Инициализируем переменные decimalNumber := 0; quaternaryNumber := ''; // Преобразуем число из двоичной в десятичную систему счисления for base14Digit := Length(binaryNumber) downto 1 do begin if binaryNumber[base14Digit] = '1' then decimalNumber := decimalNumber + 2**(Length(binaryNumber) - base14Digit); end; // Преобразуем число из десятичной в 14-ричную систему счисления while decimalNumber > 0 do begin quotient := decimalNumber div 14; remainder := decimalNumber mod 14; // Для удобства представления, используем символы A, B, C, ..., N вместо 10, 11, 12, ..., 13 if remainder < 10 then quaternaryNumber := Chr(Ord('0') + remainder) + quaternaryNumber else quaternaryNumber := Chr(Ord('A') + remainder - 10) + quaternaryNumber; decimalNumber := quotient; end; // Выводим результат WriteLn('Число в 14-ричной системе счисления: ', quaternaryNumber); end.

Этот код сначала преобразует число из двоичной системы в десятичную, а затем из десятичной в 14-ричную систему счисления. Результат будет выведен на экран.

0 0

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

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

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

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