Ok. unpack expects a string, but from other example I thought it would work.
My ref were:
https://www.perlmonks.org/?node_id=1015564 and https://www.oreilly.com/library/view/mastering-perl/9780596527242/ch16.html
I will bench the perf of the following.
use common::sense;
my $a = 0;
my $b = 0;
$a += 1 << 0;
$a += 1 << 1;
$b += 1 << 1;
$b += 1 << 2;
my $i = $a & $b;
my $u = $a | $b;
my $i_cnt = () = sprintf("%b", $i) =~ /1/g;
my $u_cnt = () = sprintf("%b", $u) =~ /1/g;
printf "a is %b %d\n", $a, $a;
printf "b is %b %d\n", $b, $b;
printf "intersection is %b %d\n", $i, $i;
printf "union is %b %d\n", $u, $u;
say "set bit count in intersection: $i_cnt";
say "set bit count in union: $u_cnt";
|