As you say, +^ is an infix operator. Why are you trying to use it as a
function?

Try $z = $x +^ $y.

On Sat, 18 Jan 2020 at 15:03, ToddAndMargo via perl6-users <
perl6-us...@perl.org> wrote:

> Hi All,
>
> https://docs.raku.org/routine/+$CIRCUMFLEX_ACCENT
>
> (Operators) infix +^ยง
>
> multi sub infix:<+^>($a, $b --> Int:D)
>
> Integer bitwise XOR operator: Coerces both arguments to Int and does a
> bitwise XOR (exclusive OR) operation.
>
>
> $ p6 'my uint8 $x=0b0101_0111; my uint8 $y = 0b0000_1111; my uint8 $z =
> +^($x, $y ); say "0", $x.base(2); say "0000", $y.base(2); say $z.base(2);'
>
> 01010111
> 00001111
> 11111101
>
>
> XOR
> A  B   A xor B
> 0  0      0
> 1  0      1
> 0  1      1
> 1  1      0
>
> That s not what I am seeing above.
>
> What am I doing wrong this time?
>
> And who set the high bit making $z negative?
>
> Many thanks,
> -T
>

Reply via email to