지금 비트연산자라는 키워드 위주로 검색해서 공부해보고 있는데요.
비트연산자 & | ^ 같은 것들이 어떻게 정수끼리 계산되는지는 이해가 갑니다. 예를들어서 4 & 5 이면, 4는 100이고 5는 101이니 논리곱으로 결과는 4가 나오겠죠. 근데 boolean 같은 경우에는 계산이 어떻게되나요?
예를들어서 boolean[] answer = {bitA && bitB, bitA ^ bitB}; 라고는 선언문이 있을때, answer[0] 이 carry잖아요? &&는 일반논리연산자니까 AND 이니 +인거 같은데, 애초에 false와 true를 어떻게 덧셈을 해서 carry가 나오는건지 이해가 잘 안가요.
B to Everyone (21:25)
&& (AND결합) : 두 조건이 모두 true일 때 true 반환
|| (OR결합) : 두 조건 중 하나라도 true일 떄 true 반환
골 to Everyone (21:26)
참이고 참일때만 참을 결론해준다! and가 + 라기 보다는 '이고' 라는 그냥 언어처럼?? 해석하시는게 이해하기 좋을 듯 싶어요
프 to Everyone (21:26)
+
는 AND보다 OR 연산이랑 비슷할 것 같아요
AND는 * 연산자랑 비슷한 것 같고요
B to Everyone (21:28)
boolean[] answer = {bitA && bitB, bitA ^ bitB};
라는 우디의 코드에서
bitA && bitB 는 bitA나 bitB가 둘 다 true일 떄만 true 반환
bitA ^ bitB 는 bitA와 bitB가 서로 다를 때만 true반환
^는 boolean타입에 사용했을 때 논리연산을 수행하며, 두 값이 서로 다른 경우에만 true를 반환한다고 합니다