나는 Edabit 에서이 도전에 부딪 쳤고이 비트 연산 솔루션을 해결할 수 없었습니다.
notNotNot = (a,b) => !!(a%2 >> b)
도전 과제 :
//Something which is not true is false, but something which is not not true is true!
//Create a function where given n number of "not", evaluate whether it's true or false.
//Examples:
notNotNot(1, true) ➞ false
// Not true
notNotNot(2, false) ➞ false
// Not not false
notNotNot(6, true) ➞ true
// Not not not not not not true
나는 그 연산자에 대해 조사했다 :
가장 왼쪽 비트를 왼쪽에서 밀어 넣어 오른쪽으로 이동하고 가장 오른쪽 비트는 떨어지게합니다.
내가 이해 한다고 생각하지만 (예 : 5 >> 1으로 0101 >> 1평가되는 것과 동일 0010) 부울과 어떻게 작동하는지 볼 수 없습니까? 나는 알고 true로 평가 1하고 false을을 0.
notNotNot(2, true). 반환 할 false것이지만 사실 !!true은 아닙니다 true.
false해결하기 위해 홀수 개의 노트 만 고려합니다 true.
notNotNot = (a,b) => !!((a%2)^b)대신 말하고 싶습니다
(a, b) => !!((a + b) % 2)?
true=1(10 진수) =01(2 진수) 1 씩 왼쪽으로 시프트하면102 진수 또는210 진수 가 생성 됩니다.