2017-01-12 7 views
-4
a &= ~(1 << 10); 

는 않습니다C++ 비트 단위 연산자 이해 코드

a &= (0 << 10); 
+1

아니요, 두 번째 코드는 'a = 0;'과 같습니다. – Slava

+0

알아볼 프로그램을 작성하지 않으시겠습니까? –

+0

아니요, 'a & = ~ (1 << 10);'...을 의미합니다. – immibis

답변

2

~ 당신이 x = 0b0100이있는 경우 있도록 비트 반전 (모든 일을 모든 0 1로, 0으로 바꿀)입니다 (1 초 동안 4 비트 정수라고 가정), ~x == 0b1011. <<은 "이것을 왼쪽으로 이동"하므로 (1 < < 2) == 0b0100`이됩니다.