Программа 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

Другие вопросы по тегам