Перевести целые числа из системы шестнадцатеричной счисления в двоичную - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! помогите пожалуйста написать программу, переводящую целые числа из системы шестнадцатеричной счисления в двоичную... Если можно, с пошаговым описанием действий

Решение задачи: «Перевести целые числа из системы шестнадцатеричной счисления в двоичную»

textual
Листинг программы
  1. uses crt;
  2. {тетрады для перевода 2 в 16, каждая соответствует цифрам от 0 до F}
  3. const tetr:array[0..15] of string[4]=('0000','0001','0010','0011',
  4.                                       '0100','0101','0110','0111',
  5.                                       '1000','1001','1010','1011',
  6.                                       '1100','1101','1110','1111');
  7.       digit='0123456789ABCDEF';{цифры в СС 16}
  8.  
  9. var s2,s16:string;
  10.     i:integer;
  11.     c:char;
  12. begin
  13. clrscr;
  14. writeln('Введите число в СС 16, окончание ввода Enter:');
  15. s16:='';
  16. repeat
  17. c:=readkey;
  18. if c in ['0'..'9','A'..'F'] then
  19.  begin
  20.   write(c);
  21.   s16:=s16+c
  22.  end;
  23. if c=#13 then writeln {Ebter-на новую строку и выход}
  24. until c=#13;
  25. s2:='';
  26. for i:=1 to length(s16) do
  27. s2:=s2+tetr[pos(s16[i],digit)-1];{приписываем к строке тетрады соответствующие цифрам}
  28. while s2[1]='0' do delete(s2,1,1); {удаляем ведущие ноли}
  29. write('В СС 2=',s2);
  30. readln
  31. end.

Объяснение кода листинга программы

  1. Создается переменная s16, которая будет хранить введенное число в шестнадцатеричной системе счисления.
  2. Создается переменная s2, которая будет хранить переведенное число в двоичной системе счисления.
  3. В цикле читается символ из ввода пользователя, пока не будет введен символ-терминатор #13.
  4. Если введенный символ находится в диапазоне от 0 до 9 или от A до F, то он добавляется к переменной s16.
  5. После ввода всех символов, переменная s16 преобразуется в строку с помощью функции readkey.
  6. Для каждого символа в строке s16 создается соответствующий ему тетрадный код и добавляется к переменной s2.
  7. Если введенный символ является символом-терминатором #13, то цикл прерывается.
  8. В конце программы выводится переведенное число в двоичной системе счисления.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.667 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы