decimal-to-hex
kesha 23 апреля, 2012 - 17:56
Не буду лукавить, я готовлю сайт посвященный программированию на newLISP и провожу некоторые исследования. Сейчас я обращаюсь к сообществу с просьбой, если кто может - пожалуйста продемонстрируйте, на используемых вами ЯП, реализацию перевода произвольного (в разумных пределах) десятичного числа, в шестнадцатеричное. Со своей стороны предлагаю вот такую реализацию на newLISP:
(define (decimal-to-hex x, result) (set 'result (/ x 16)) (append (if (> result 15) (decimal-to-hex result) (format "%X" result)) (format "%X" (% x 16)))) (println (string "Число: " (set 'foo 2) " >>> " (decimal-to-hex foo))) => Число: 2 >>> 02 (println (string "Число: " (set 'foo 15) " >>> " (decimal-to-hex foo))) => Число: 15 >>> 0F (println (string "Число: " (set 'foo 315) " >>> " (decimal-to-hex foo))) => Число: 315 >>> 13B (println (string "Число: " (set 'foo 643) " >>> " (decimal-to-hex foo))) => Число: 643 >>> 283 (println (string "Число: " (set 'foo 1564732) " >>> " (decimal-to-hex foo))) => Число: 1564732 >>> 17E03C
Заранее спасибо всем откликнувшимся.
»
- Для комментирования войдите или зарегистрируйтесь
(*)
Подборка реализаций вашего "(format "%X" result)" на 45 языках:
http://rosettacode.org/wiki/Common_number_base_formatting
Возможно и по иным вопросам ваших некоторых исследований вы сможете получить ответы на сайте http://rosettacode.org/wiki
Также см http://www.youtube.com/watch?v=0YylM0CWGa4
И также вам потребуется рассмотреть оба случая - как с использованием рекурсии, так и без использования рекурсии.
Успехов в ваших исследованиях!
Спасибо :-)Вы я вижу тертый
Спасибо :-)
Вы я вижу тертый калач, но можно было так явно не палить контору :-)
Хорошо, скажите а как вы относитесь к LISP'у, и что по вашему в нем сложного, почему он отпугивает людей?
Да еще, вам именно строчка format в глаза бросилась, или вы попытались вникнуть в код?
Я типичный русский колхозник.
Долго запрягаю, быстро езжу и сильно торможу...
(*)
Нет, я не тёртый калач, я программист-нубас, который даже не может заставить себя дочитать http://devmanual.gentoo.org :(
К LISP'у и другим языкам отношусь как к инструментам, сложного в нём ничего не нахожу (поскольку знаком с ним на весьма базовом уровне) и меня лично он не отпугивает. Каждый язык более удобен для решения одних задач и менее удобен для решения других задач, и если бы вы огласили список задач, для которых newLISP особенно удобен, я бы его даже затестил. А пока остаюсь на Питоне (который, вроде бы, тот же Лисп, только без скобочек, макросов и хвостовой рекурсии) там, где его хватает.
mastepaner написал(а): Нет, я
Главное начать... Я вот даже не начинал ;-)
Вот в этом я с вами полностью согласен.
Вот это я и пытаюсь выяснить. Я поверхностно (к сожалению) знаком с различными ЯП, но не настолько хорошо, что бы сказать, что вот этот ЯП вот для этого подходит лучше всего. Когда-то давно я пытался программировать под Windows в связке Assembler + Delphi, тогда я делал управление одной железякой через LPT порт. Эта железяка оказалась очень придирчива к временным отрезкам, она хотела для работы режим "реального времени", Windows 2000 этого ей дать не мог. Это была одна из тех капель, которые в дальнейшем перевесили чашу весов в сторону Linux.
Я не связан профессионально с IT, поэтому долгое время блуждал по разным дистрибутивам Linux, пытаясь понять как устроен Linux, отвлекаясь разумеется на Windows, потому что все окружение использовало его. Одновременно я пробовал различные ЯП, потому как компьютер - это инструмент, а я хотел научиться им пользоваться. После долгих блужданий и поисков я открыл для себя newLISP, это оказалось как озарение, как маяк в бурном море глухой ночью. И вот теперь я хочу привлечь к нему внимание максимального количества людей.
Меня в питоне крайне напрягают отступы, а после знакомства с newLISP, еще и усложненный синтаксис. Такое ощущение, что программисты на Си пытались сделать Си-образный Лисп только без скобочек ;-)
Тут я имел ввиду немного другое:
Я типичный русский колхозник.
Долго запрягаю, быстро езжу и сильно торможу...
(*)
Предвкушая появление qnikst я сделал что-то типа