Non-decimal radices/Convert: Difference between revisions
Content added Content deleted
(added Go) |
(Added PicoLisp) |
||
Line 797: | Line 797: | ||
end convert; |
end convert; |
||
</lang> |
</lang> |
||
=={{header|PicoLisp}}== |
|||
<lang PicoLisp>(de numToString (N Base) |
|||
(default Base 10) |
|||
(let L NIL |
|||
(loop |
|||
(let C (% N Base) |
|||
(and (> C 9) (inc 'C 39)) |
|||
(push 'L (char (+ C `(char "0")))) ) |
|||
(T (=0 (setq N (/ N Base)))) ) |
|||
(pack L) ) ) |
|||
(de stringToNum (S Base) |
|||
(default Base 10) |
|||
(let N 0 |
|||
(for C (chop S) |
|||
(when (> (setq C (- (char C) `(char "0"))) 9) |
|||
(dec 'C 39) ) |
|||
(setq N (+ C (* N Base))) ) |
|||
N ) ) |
|||
(prinl (numToString 26 16)) |
|||
(prinl (stringToNum "1a" 16)) |
|||
(prinl (numToString 123456789012345678901234567890 36))</lang> |
|||
Output: |
|||
<pre>"1a" |
|||
26 |
|||
"byw97um9s91dlz68tsi"</pre> |
|||
=={{header|Pop11}}== |
=={{header|Pop11}}== |