Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re^4: decimal to binary conversion

by AnomalousMonk (Archbishop)
on Jun 05, 2015 at 15:24 UTC ( [id://1129211]=note: print w/replies, xml ) Need Help??


in reply to Re^3: decimal to binary conversion
in thread decimal to binary conversion

Are so many parentheses needed with the lower precedence  ? : Conditional Operator? Also, rather than using what looks like an unrolled loop for printing bits, is there any way to use a while- or for-loop here?


Give a man a fish:  <%-(-(-(-<

Replies are listed 'Best First'.
Re^5: decimal to binary conversion
by aaron_baugher (Curate) on Jun 05, 2015 at 16:12 UTC

    Yes, you can drop all the parens when you switch to the ternary operator. And yes, it can be done as a loop, which also removes the 8-bit restriction:

    $ cat 1129169.pl #!/usr/bin/env perl use 5.010; use strict; use warnings; sub dec_to_bin { my $dec = shift; print "$dec : "; unless( $dec =~ /^\d+$/ ){ say "Not a whole number!"; return; } my $x = 1; my $bin = ''; while(1){ my $bit = $dec & $x; $bin = ($bit ? 1 : 0) . $bin; $dec -= $bit; last unless $dec; $x <<= 1; } say $bin; } dec_to_bin($_) for @ARGV; $ perl 1129169.pl 0 1 4 255 65536 abc 0 : 0 1 : 1 4 : 100 255 : 11111111 65536 : 10000000000000000 abc : Not a decimal number!

    Aaron B.
    Available for small or large Perl jobs and *nix system administration; see my home node.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1129211]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others contemplating the Monastery: (8)
As of 2024-04-18 10:41 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found