十六进制转十进制的lisp程序
如何编写一个 lisp 程序将给定的十六进制数转换为十进制数。有人可以给我一个线索吗? 谢谢
how to write a lisp program to convert given hexadecimal number into decimal. can somebody give me a clue.
thank you
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我假设这是一个家庭作业问题,所以我会给你正确方向的提示。
以下是如何将十进制转换为二进制 ->
假设您从二进制数字 9 开始,即 1001。
首先将 9 除以 2。得到 4,余数为 1。保存余数。
现在再次将 4 除以 2,得到 2,余数为 0。保存余数。
将 2 再除以 2,得到 1,余数为 0。保存余数。
将其除以 2,最后用扩频器 1 得到 0。保存余数。
如果你倒着读保存的余数,你会得到 1001!您一直在寻找的二进制数。最好将剩余的内容压入堆栈,然后将它们弹出,这样它们就会向后出来。
I'm assuming its a homework problem so i'll give you a hint in the right direction.
Here is how to convert decimal to binary ->
Lets say you start with the number 9 in binary its 1001.
Start of by dividing 9 by 2. You get 4 with remainder 1. Save the remainder.
Now divide that 4 by 2 again, you get 2 with remainder 0. Save the remainder.
Divide that 2 again by 2, you get 1 with remainder 0. Save the remainder.
Divide that 1 by 2 and finally you get 0 with reaminder 1. Save the remainder.
If you read the saved remainders backwards you get 1001! The binary number you've been looking for. Best to push the remainders on the stack and pop them back out, that way they'll come out backwards.
Common Lisp 已经提供了它。
输入是十六进制整数的字符串。
然后你用基数16解析整数
结果是数字
如果你用基数写数字10 到输出流,则可以获取以 10 为基数的字符串形式的数字
It's already provided by Common Lisp.
The input is the string for the hex integer.
Then you parse the integer with radix 16
the result is the number
if you write the number with base 10 to an output stream, then you can get the number as a string in base 10