Non-decimal radices/Convert: Difference between revisions
Content added Content deleted
Thundergnat (talk | contribs) (Rename Perl 6 -> Raku, alphabetize, minor clean-up) |
No edit summary |
||
Line 1,947: | Line 1,947: | ||
print(x) --> 1a |
print(x) --> 1a |
||
print(tonumber(x, 16)) --> 26</lang> |
print(tonumber(x, 16)) --> 26</lang> |
||
=={{header|M2000 Interpreter}}== |
|||
<lang M2000 Interpreter> |
|||
Module Checkit { |
|||
k$=lambda$ (m, b as integer=16) -> { |
|||
if b<2 or b>16 then error "base out of range" |
|||
if m=0 then ="0" : exit |
|||
z$="0123456789ABCDEF" |
|||
=lambda$ z$, b (m) ->{ |
|||
=if$(m=0->"", lambda$(m div b)+mid$(z$, m mod b + 1, 1)) |
|||
}(m) |
|||
} |
|||
k=lambda (m$, b as integer=16) -> { |
|||
if b<2 or b>16 then error "base out of range" |
|||
m$=trim$(m$) |
|||
if m$="0" then =0 : exit |
|||
z$="0123456789ABCDEF" |
|||
=lambda z$, b (m$) ->{ |
|||
=if(Len(m$)=0->0, lambda(mid$(m$,2))+(instr(z$, left$(m$,1))-1)*b**(len(m$)-1)) |
|||
}(m$) |
|||
} |
|||
Print k$(0)="0", k("0")=0 |
|||
Print k$(65535)="FFFF", k("FFFF", 16)=65535 |
|||
Print k$(0xF00F)="F00F", k("F00F", 16)=0xF00F |
|||
Print k$(0xFFFFFFFF)="FFFFFFFF", k("FFFFFFFF", 16)=0xFFFFFFFF |
|||
Print k$(100, 8)="144", k("144", 8)=100 |
|||
Print k$(100, 2)="1100100", k("1100100", 2)=100 |
|||
} |
|||
Checkit |
|||
</lang> |
|||
Output: |
|||
<pre> |
|||
True True |
|||
True True |
|||
True True |
|||
True True |
|||
True True |
|||
True True |
|||
</pre> |
|||
=={{header|M4}}== |
=={{header|M4}}== |