如何编写一个 lisp 程序将给定的十六进制数转换为十进制。有人可以给我一个线索。谢谢你
问问题
979 次
2 回答
1
我假设它是一个家庭作业问题,所以我会给你一个正确方向的提示。
以下是如何将十进制转换为二进制 ->
假设你从二进制数字 9 开始,它是 1001。首先将 9 除以 2。你得到 4,余数为 1。保存余数。现在再次将 4 除以 2,得到 2,余数为 0。保存余数。再将 2 除以 2,得到 1,余数为 0。保存余数。将 1 除以 2,最后你得到 0 和提醒 1。保存余数。
如果您向后读取保存的余数,您将得到 1001!您一直在寻找的二进制数。最好将剩余部分压入堆栈并将它们弹出,这样它们就会倒退。
于 2010-10-08T06:43:24.960 回答
1
Common Lisp 已经提供了它。
输入是十六进制整数的字符串。
然后你用基数 16 解析整数
结果是数字
如果将基数为 10 的数字写入输出流,则可以将数字作为基数为 10 的字符串获取
于 2010-10-08T08:29:06.577 回答