Программа lisp для шестнадцатеричного в десятичное
Как написать программу для lisp, чтобы преобразовать данное шестнадцатеричное число в десятичное. может кто-нибудь дать мне подсказку. благодарю вас
2 ответа
Я предполагаю, что это проблема с домашней работой, поэтому я дам вам подсказку в правильном направлении.
Вот как преобразовать десятичную в двоичную форму ->
Допустим, вы начинаете с числа 9 в двоичном коде с его 1001. Начните с деления 9 на 2. Вы получите 4 с остатком 1. Сохраните остаток. Теперь снова разделите это 4 на 2, и вы получите 2 с остатком 0. Сохраните остаток. Разделив это 2 снова на 2, вы получите 1 с остатком 0. Сохраните остаток. Разделите это 1 на 2, и, наконец, вы получите 0 с помощью reaminder 1. Сохраните остаток.
Если вы прочитаете сохраненные остатки назад, вы получите 1001! Двоичное число, которое вы искали. Лучше всего поместить остатки в стек и вытащить их обратно, чтобы они вышли назад.
Это уже предоставлено Common Lisp.
Ввод - это строка для шестнадцатеричного целого числа.
Затем вы анализируете целое число с основанием 16
результат - число
если вы записываете число с основанием 10 в выходной поток, то вы можете получить число в виде строки в базе 10