программа lisp от шестнадцатеричного до десятичного - PullRequest
1 голос
/ 07 октября 2010

как написать программу на lisp для преобразования заданного шестнадцатеричного числа в десятичное. может кто-нибудь дать мне подсказку. спасибо

Ответы [ 2 ]

1 голос
/ 08 октября 2010

Я предполагаю, что это проблема с домашней работой, поэтому я дам вам подсказку в правильном направлении.

Вот как преобразовать десятичную в двоичную форму ->

Допустим, вы начинаете с числа 9 в двоичном коде его 1001. Начните с деления 9 на 2. Вы получите 4 с остатком 1. Сохраните остаток. Теперь снова разделите это 4 на 2, и вы получите 2 с остатком 0. Сохраните остаток. Разделив это 2 снова на 2, вы получите 1 с остатком 0. Сохраните остаток. Разделите это 1 на 2, и, наконец, вы получите 0 с помощью reaminder 1. Сохраните остаток.

Если вы прочитаете сохраненные остатки в обратном направлении, вы получите 1001! Двоичное число, которое вы искали. Лучше всего поместить остатки в стек и вытащить их обратно, чтобы они вышли назад.

0 голосов
/ 08 октября 2010

Это уже предоставлено Common Lisp.

  • Вводом является строка для шестнадцатеричного целого числа.

  • Затем вы анализируете целое число с основанием 16

  • результат - число

  • если вы записываете число с основанием 10 в выходной поток, то вы можете получить число в виде строки в базе 10

...