C에서 궁금한게 있어서 이렇게 글올립니다.
궁금한점은요.
XOR연산에 관한것입니다.
XOR연산은 2진수로 표현해서 연산하는걸로 알고있는데요.
근데 이게 왜 타입에 상관없이 값이 똑같은 겁니까? 예를 들면요.
char ch = 0x08;
cout << hex ;
cout << (ch ^ (char)0x1a) << endl;
cout << (ch ^ (int) 0x1a) << endl;
int in = 0x08;
cout << (in ^ (char)0x1a) << endl;
cout << (in ^ (int) 0x1a) << endl;
이 코드에서 출력되는 값이 왜 같은건지 모르겠습니다. char 형은 1바이트고, int 형은 4바이
트인데, 저장크기가 다른걸 XOR연산했는데 왜 값이 똑같아 지는지... 가르쳐 주십시요..