2010-10-06 124 views
1

如何编写一个lisp程序将给定的十六进制数转换为十进制数。有人可以给我一个线索。 谢谢lisp程序为十六进制为十进制

+2

给它你最好的镜头,到你有特定问题的地步,并在这里发布。当你这样做的时候,请说明你的意思是“十六进制数”和“小数”,以及你在哪里得到你的输入并把你的输出。另外,如果这是作业,请添加“家庭作业”标签。 – 2010-10-06 21:09:10

回答

1

我假设它的作业问题,所以我会给你一个正确的方向提示。

这里是如何十进制转换为二进制 - >

比方说,你在二进制开始与9号的1001 开始将通过划分9由2.你得到4余1.保存剩余。 现在再用4除以2,得到2和余数0.保存余数。 再将2除以2,得到1和余数0.保存余数。 将1除以2,最后得到0与减数1.保存余数。

如果您向后读取保存的剩余部分,您将获得1001!您一直在寻找的二进制数。最好把剩下的东西推到堆叠上,然后将它们弹出来,这样它们就会向后退出。

0

它已经由Common Lisp提供。

  • 输入是十六进制整数的字符串。

  • 然后,解析与基数16

  • 结果是数整数

  • 如果写与底座10到输出流的数目,然后就可以得到数作为一个字符串在基地10