Пользователь вводит число, представленное в десятичной системе счисления. Программа должна преобразовывать его в число, выраженное в шестнадцатеричной системе счисления. Результат вывести на экран
Алгоритм перевода десятичного числа в другую систему счисления одинаков. Однако в случае шестнадцатеричной системы он усложнен тем, что цифры с 10 до 15 должны быть заменены буквами.
Поэтому сначала находится остаток от деления на 16. Если он представляет собой двузначное число, то переменной ch присваивается соответствующий символ. Иначе происходит перевод цифры в ее символьное представление. Символ добавляется к строке.
var decimal: word; function hexadecimal(decimal:word):string; var digit: byte; ch: char; begin while decimal > 0 do begin digit := decimal mod 16; if digit in [10..15] then case digit of 10: ch := 'A'; 11: ch := 'B'; 12: ch := 'C'; 13: ch := 'D'; 14: ch := 'E'; 15: ch := 'F' end else ch := chr(ord('0') + digit); hexadecimal := ch + hexadecimal; decimal := decimal div 16 end; end; begin write('Decimal: '); readln(decimal); writeln(hexadecimal(decimal)); readln end.
Комментарии
Помогите написать программу, пожалуйста.
Известно, что в состав сушеного продукта входит M% воды, в состав исходного-N%. Написать программу для определения того, сколько из K кг исходного продукта получится сушеного.
Не надо писать всю программу, только Решение, желательно с объяснением каждого действия.
Наверно надо найти разность
Наверно надо найти разность между N и M:
N - M = x% - это процент ушедшей воды.
Потом надо найти сколько это килограмм:
K * (x% / 100%) = y кг
И вычесть это из K:
K - y
помогите решить задачу
вводится десятичное число и система счисления, вывести это число в данной СС
Если может вводиться любая
Если может вводиться любая система счисления (больше десятичной), то это сложная задача. Потребуется вводить массив букв и разработать алгоритм перевода чисел в буквы.
Здесь есть функция, которая переводит в двоичную и восьмеричную. Аналогично может переводиться в любую другую до десятичной. Для перевода в шеснадцатеричную используется подстановка букв. Однако правильнее использовать массив букв с индексацией от 10 до максимально возможной системы счисления.
сам не смогу решить, нужна
сам не смогу решить, нужна помощь
Решить задачу так, чтобы
Решить задачу так, чтобы десятичное число переводилось вообще в любую систему счисления, на мой взгляд, в принципе не возможно. Надо оговорить до какого предела, например, до СС с основанием 32.
Решите проще. Перевод в СС с основанием от 2 до 9:
спасибо. а можете сделать от
спасибо. а можете сделать от 2 до 16???
https://pas1.ru/radix
https://pas1.ru/radix