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";