Перевод целого числа из десятичной системы счисления в шестнадцатеричную - Pascal
Формулировка задачи:
Нужно написать программу на Паскале. Помогите пожалуйста. И чем проще будут записи,тем лучше, я чайник в программировании.
Решение задачи: «Перевод целого числа из десятичной системы счисления в шестнадцатеричную»
textual
Листинг программы
uses crt; const zn:string[16]='0123456789ABCDEF';//цифры в СС 16 var n:longint; s:string; begin clrscr; write('Число в системе 10='); readln(n); s:=''; while n>0 do begin s:=zn[n mod 16+1]+s;//берем остаток от деления на 16 и эту цифру пишем в начало строки n:=n div 16;//сокращаем end; write(' В системе 16 =',s); readln end.
Объяснение кода листинга программы
- Объявление переменных:
zn
- строковая константа, содержащая символы для представления цифр в шестнадцатеричной системе,n
- переменная целочисленного типа, в которую будет введено число в десятичной системе,s
- переменная строкового типа, в которую будет записываться число в шестнадцатеричной системе.
- Очистка экрана.
- Ввод числа:
- Вывод текста
Число в системе 10=
, - Ввод числа в переменную
n
.
- Вывод текста
- Преобразование числа из десятичной системы в шестнадцатеричную:
- Инициализация пустой строки
s
. - Пока
n
больше 0, выполняются следующие шаги:- Берется остаток от деления
n
на 16, прибавляется 1 (для получения индекса в строкеzn
), и результат конкатенируется с переменнойs
(записывается в начало строки), n
делится на 16.
- Берется остаток от деления
- Инициализация пустой строки
- Вывод результата:
- Вывод строки
В системе 16 =
с полученным результатом в переменнойs
.
- Вывод строки
- Ожидание нажатия клавиши для завершения программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д