배움과 성장/소프트웨어 개발
비트 연산과 2의 보수: 고정 비트폭·마스크·Python 음수 표현
비트 연산과 2의 보수를 이해할 때 가장 먼저 정할 값은 bit width다. 1011은 4-bit signed two's complement라면 -5지만, unsigned라면 11이다. Python int는 고정 폭 정수가 아니므로 ~5를 4-bit 반전 결과처럼 해석해서도 안 된다.비트 연산자는 무엇을 계산하나5 = 0b0101, 3 = 0b0011을 4-bit로 나란히 놓으면 연산별 차이가 보인다.연산Python결과의미AND5 & 31 (0001)둘 다 1인 bit만 1OR5 | 37 (0111)하나라도 1이면 1XOR5 ^ 36 (0110)서로 다르면 1left shift5 10 (1010)bit를 왼쪽으로 이동right shift5 >> 12 (0010)bit를 오른쪽으로 이동NOT~5-6Pyt..