C 언어 처음 시작하는 꼬꼬만데 뇌세포가 부족한지 여기서 막히네요.

비트 단위 연산자 중에서 \' >> \' 오른쪽으로 비트 이동하는 연산자 공부하고 있슴미다.

예제가 -8>>2 이건데 C로 프로그래밍해서 실행해보면 -2가 나오는데 왜 제가 계산하면

양수 2가 나오는지 모르겠네요..

-8은 편의상 1바이트로 계산해보면 11111000 나오고 오른쪽으로 비트 2칸 이동하니깐

11111110 이고 2의 보수를 취해서 10의 정수로 바꿔보면 그냥 2가 나오는데 왜 컴퓨터에서는 -2

가 나오는거죠? 계산이 틀린건가..

왜 그런지좀 알려주세요