반전 비트를 아나요
플래그를 고치는데 주로 써요
flags = 6 // 0b101
flags |= 3 // 0b010
flags = 9 / 0b111
flags &= ~3 // 0b101
flags = 6 // 0b101
토글을 할 거이면 ^= xor을 걸어도 되는데요.
여러번 먹여도 반드시 꺼야하면 비트낫엔드를 써야 해요.
코틀린에서 ~ 가 안먹어서 int.inv() 이케 하는데요.
업스테이지 ai가 이케 응답 하였어요.
아니요, Kotlin의 inv 함수는 C 언어의 ~ 연산자와 동일하지 않습니다.
Kotlin의 inv 함수는 부울 값을 입력으로 받아 그 반대 값을 반환하는 함수입니다. 예를 들어, inv(true)는 false를 반환하고, inv(false)는 true를 반환합니다.
반면에, C 언어의 ~ 연산자는 비트 NOT 연산자로 사용되며, 정수형 값의 각 비트를 반전시킵니다. 예를 들어, ~1은 -2와 같은 값을 가집니다.
따라서, Kotlin의 inv 함수와 C 언어의 ~ 연산자는 서로 다른 기능을 가지고 있습니다.
코파일럿 (빙 챗봇)
코틀린의 inv() 함수와 C 언어의 ~ 연산자는 비슷한 역할을 합니다. 둘 다 비트 단위의 비트 반전(bitwise NOT) 연산을 수행합니다.
C 언어의
~연산자: 정수의 모든 비트를 반전시킵니다. 예를 들어,~0b00001111은0b11110000이 됩니다.코틀린의
inv()함수: 정수형 데이터 타입(Int, Long 등)에 대해 비트 반전을 수행하는 메서드입니다. 예를 들어,15.inv()는 C 언어에서~15와 동일한 결과를 반환합니다.
따라서, 두 연산자는 기능적으로 동일하지만, 코틀린에서는 객체 지향적인 방식으로 메서드 형태로 제공된다는 점이 다릅니다. 추가적으로 궁금한 점이 있다면 알려주세요! 😊
혼나야 하겠쩌.
