unsigned s=555;
int i=(s>>4)&~(~0<<3);
cout<<"값 = "<<i<<endl;

이렇게 입력하고 컴파일하면 값이 2가나오는데요 왜 2가나오는지 궁금합니다
진행 과정좀 자세하게 설명해주실분 없나요!
궁금합니다!