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.

Reply via email to