2016-08-03 4 views
0

나는 다음과 같은 C++ 문을 이해하지 않습니다비트 단위 연산자는

int c; 
switch (c) { 
    case 'a': ... ; 
    case 'c' | 0x100: ... ; 
    case 'c': ...; 
} 

경우 'C'경우 'C'사이의 차이는 무엇 | 0x100? 같은 것이 아니며 의 경우 'c'가에 도달하지 않았습니까?

+1

태그에 언어를 동일 |

'c'는 0x063

'C'로 동일합니다. 아니요,'c'가'0x100'을 구성하는 비트를 가지고 있지 않다면 같지 않습니다. –

+1

' 'c'| 0x100 = 0b0 0110 0011 | 0b1 0000 0000 = 0b1 0110 0011 = 355'. 따라서,이 경우는'c = 355 '인 경우에만 입력됩니다. –

답변

1

아니요, 두 개의 다른 숫자입니다. 로 0x100가 0x163