Non-decimal radices/Convert: Difference between revisions

no edit summary
(Added Perl example.)
No edit summary
Line 295:
{$int += $radix**$n * undigitize substr($numeral, 0, 1, '');}
return $int;}</perl>
 
=={{header|Pop11}}==
 
Pop11 can input and output routines can use any base up to 36
(depending on value 'pop_pr_radix' variable). 'radix_apply'
runs i/o routine temporarly setting 'pop_pr_radix' to given
value. 'sprintf' procedure intead of printing returns string.
So, to convert number to given value we just compose
built-in procedures:
 
<pre>
define number_to_base(n, base);
radix_apply(n, '%p', sprintf, base);
enddefine;
</pre>
 
In input base optionally preceeds the number, for example
8:15 is 13. So, to convert string in given base we need
to prepend base prefix and read number from string:
 
<pre>
define string_in_base_to_number(s, base);
incharitem(stringin(base >< ':' >< s))();
enddefine;
</pre>
 
=={{header|Python}}==
Anonymous user