목록Bit (1)
배움 저장소

이 글에서는 left shift와 right shift 연산이 어떤 차이가 있는지 다룬다. 이러한 차이가 코드에서 예기치 못한 상황을 만들 수 있다. left shift와 right shift 연산의 차이를 알아보자. 1. signed && 음수 signed값은 맨 앞 bit가 양수 / 음수를 나타낸다. 위 값은 음수이므로 >> 연산자를 사용할 때 부호 값은 그대로 유지된다. 2. unsigned || signed && 양수 위 상황은 unsgined 타입이거나 signed 타입일 경우 양수 값을 가질 때이다. 이 때 >> 연산자를 사용하면 부호 값은 계산되지 않는다. 따라서 다음과 같은 상황을 이해할 수 있다. char x = CHAR_MAX; printf("%i\n", x); // => 127 cha..
Programming Language/C++
2021. 11. 11. 15:45