My keeper file so far:

Perl: bitwise operators:

alias p5='perl6 -E'
alias p6='perl6 -e'


Bitwise AND:
    $ p6 'my $v = 32 +& 16; say $v;'
    0

    $ p5 'my $v = 32 & 16; say $v;'
    0


Bitwise OR:
    $ p5 'my $v = 32 | 16; say $v;'
    48

    $ p6 'my $v = 32 +| 16; say $v;'
    48


Bitwise shift left:
    $ p6 'my $v = 0b00000100 +< 2; say $v;'
    16

    $ p5 'my $v = 0b00000100 << 3; say $v;'
    32



Bitwise shift right:
    $ p5 'my $v = 0b00010100 > 3; say $v;'
    1

    $ p6 'my $v = 0b00110100 +> 3; say $v;'
    6


Bitwise XOR:
    $ p5 'my $v = 0b00101101 ^ 0b00001001; say $v;'
    36

    $ p6 'my $v = 0b00001101 +^ 0b00001001; say $v;'
    4


Bitwise Compliment (flip the bits):
$ p5 'my $x = 0b00101101; my $y= (~$x); my $z= (~$y); say "$x\n$y\n$z"; '
    45
    18446744073709551570
    45

$ p6 'my $x = 0b00101101; my $y= (+^$x); my $z= (+^$y); say "$x\n$y\n$z"; '
    45
    -46
    45


Bitwise "IN" (Does y exist in x):

    $ p6 'my $x=0b1001; my $y=0b0101; my $z=$x +& $y; say so $y == $z;'
    False

    $ p6 'my $x=0b1001; my $y=0b1001; my $z=$x +& $y; say so $y == $z;'
    True

    p5 not figured out yet

Reply via email to