in reply to Re^2: Bitwise operators
in thread Bitwise operators
Ok, I've seen what you posted lower down in this thread, and wanted to follow up to my earlier promise to offer some code.
The following solution will work for any integer, whether it requires 4 bits or 32 to represent it.
use strict; use warnings; my $number = 75; my $bitval = 1; my $bits = ''; while ( $bitval <= $number ) { my $bit = $number & $bitval ? 1 : 0; $bits = $bit . $bits; $bitval *= 2; } print $bits, "\n";
$bitval contains the mask value, and is incremente by times two after each iteration. That makes the masks 1, 2, 4, 8, 16, 32.... etc. (look familiar?). The ... ? ... : ... (ternary operator) serves to turn a bit value into just a zero or one. The rest I think you'll figure out as you look at it.
Dave
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: Bitwise operators
by thevoid (Scribe) on Dec 25, 2006 at 22:35 UTC |