Raku의 +& — 숫자 비트 AND 연산자
Raku의 +& — 숫자 비트 AND 연산자
숫자를 비트 단위로 AND(곱) 계산해야 할 때가 있어요. +&는 숫자 비트 AND 연산자로, 두 인자를 Int로 강제한 뒤 two's complement 기준으로 비트 AND를 수행해요.
시그니처
multi infix:<+&>($a, $b --> Int:D)
두 인자를 Int로 강제 변환한 뒤, 비트 단위 AND 결과를 Int로 돌려줘요.
예시
say 12 +& 10; # OUTPUT: «8»
12는 이진수 1100, 10은 1010이에요. 자리별로 AND를 하면 1000 = 8이 되죠.
+&는 숫자(정수) 대상의 비트 연산이고, 문자열 바이트 대상의 비트 연산은 ~&가 따로 존재해요. 같은 계열로 왼쪽 시프트 +<, 오른쪽 시프트 +>도 함께 보면 좋아요.