2010-03-11 2 views

답변

15

>>>는 부호없는 오른쪽 시프트, 그래서 나는 C에서이 부호 변화를 얻기 위해, C에서

unsigned int foo; 
unsigned int bar = foo >> whatever; 
24

와 같은 것이라고 생각, 당신은 부호없는 형식에 변화를 않습니다.

서명 유형에 >> 당신에게 C에 서명 변화를 제공한다는 보장이 없다는 것을
unsigned int result = (unsigned int)valueToBeShifted >> shiftAmount; 

주 - 이것이다 구현 정의 동작. 그러나 대부분의 일반적인 구현은 형식이 서명 된 경우 부호있는 시프트를 생성합니다.

관련 문제