devWonny 2021. 8. 27. 12:04
$scope.bitAnd = function(val1, val2) {
  return (parseInt(val1 + "") & parseInt(val2 + "")) > 0;
 }

a랑 b를 정수로 먼저 변환하고
그 정수들을 이진수로 해석했을 때
같은 자리에 있는 1이 하나라도 있으면
true를 반환하는거에요

 

4(10)은 100(2)고 6(10)은 110(2)이니까
4 & 6은 100(2) = 4(10)이 되고요
그래서 4 > 0이 돼서 true가 돼요

 

무식하게 해석해보면
4 & 6 > 0 이라고 하면
여기서 이진수로 해석하는게 어떻게 가능한건가요??

 

4 & 6 > 0 에서
&와 >0 이 있어야
 이진수로 해석한다는 의미인건가? 싶어요

 

&자체가 이진수연산이에요
and는 &&이고요
조건에서의 and는 아닙니다