2010-10-06 55 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