On Fri, 04 Mar 2005 12:28:43 +0100, Detlef Lindenthal wrote:
>What would be the easiest way to display a number as dual / binary number?
>For example: 29 is to be displayed as 11101.
>
>
>In PHP this would work:
><?
>printf ("%b", 29);
>?>
>
>but not so in Perl.
>Any idea?
What version of Perl are you using? "%b" works in perl5.8.x, and,
judging by the "perldoc -f sprintf" for 5.6.1, in 5.6.1 too. So unless
you have a very old MacPerl, it should work.
Otherwise, if you don't mind some leading zeroes, and only need it for
32 bit max numbers, you can still do
print unpack 'B*', pack 'N', 29;
You can get rid of the leading zeroes by a
s/^0+(?=\d)//
or
s/^0+(\d)/$1/
in case lookahead is too recent.
--
Bart.