Перевести целые числа из системы шестнадцатеричной счисления в двоичную - Turbo Pascal
Формулировка задачи:
Здравствуйте! помогите пожалуйста написать программу, переводящую целые числа из системы шестнадцатеричной счисления в двоичную... Если можно, с пошаговым описанием действий
Решение задачи: «Перевести целые числа из системы шестнадцатеричной счисления в двоичную»
textual
Листинг программы
uses crt; {тетрады для перевода 2 в 16, каждая соответствует цифрам от 0 до F} const tetr:array[0..15] of string[4]=('0000','0001','0010','0011', '0100','0101','0110','0111', '1000','1001','1010','1011', '1100','1101','1110','1111'); digit='0123456789ABCDEF';{цифры в СС 16} var s2,s16:string; i:integer; c:char; begin clrscr; writeln('Введите число в СС 16, окончание ввода Enter:'); s16:=''; repeat c:=readkey; if c in ['0'..'9','A'..'F'] then begin write(c); s16:=s16+c end; if c=#13 then writeln {Ebter-на новую строку и выход} until c=#13; s2:=''; for i:=1 to length(s16) do s2:=s2+tetr[pos(s16[i],digit)-1];{приписываем к строке тетрады соответствующие цифрам} while s2[1]='0' do delete(s2,1,1); {удаляем ведущие ноли} write('В СС 2=',s2); readln end.
Объяснение кода листинга программы
- Создается переменная
s16
, которая будет хранить введенное число в шестнадцатеричной системе счисления. - Создается переменная
s2
, которая будет хранить переведенное число в двоичной системе счисления. - В цикле читается символ из ввода пользователя, пока не будет введен символ-терминатор
#13
. - Если введенный символ находится в диапазоне от
0
до9
или отA
доF
, то он добавляется к переменнойs16
. - После ввода всех символов, переменная
s16
преобразуется в строку с помощью функцииreadkey
. - Для каждого символа в строке
s16
создается соответствующий ему тетрадный код и добавляется к переменнойs2
. - Если введенный символ является символом-терминатором
#13
, то цикл прерывается. - В конце программы выводится переведенное число в двоичной системе счисления.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д