十六进制转十进制的lisp程序

发布于 2024-09-26 01:59:36 字数 53 浏览 0 评论 0原文

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

how to write a lisp program to convert given hexadecimal number into decimal. can somebody give me a clue.
thank you

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

舂唻埖巳落 2024-10-03 01:59:36

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

以下是如何将十进制转换为二进制 ->

假设您从二进制数字 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.

久夏青 2024-10-03 01:59:36

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文