오른쪽 시프트Right Shifts

음수 값 부호 있는 정수 계열 형식의 오른쪽 시프트 결과The result of a right shift of a negative-value signed integral type

음수 값을 오른쪽으로 이동하면 절대값의 반을 정수로 내림한 값이 생성됩니다.Shifting a negative value to the right yields half the absolute value, rounded down. 예를 들어 부호 있는 short 값 –253(16진수 0xFF03, 이진수 11111111 00000011)을 오른쪽으로 1비트 이동하면 –127(16진수 0xFF81, 이진수 11111111 10000001)이 생성됩니다.For example, a signed short value of -253 (hex 0xFF03, binary 11111111 00000011) shifted right one bit produces -127 (hex 0xFF81, binary 11111111 10000001). 양수 253을 오른쪽으로 시프트하면 +126이 생성됩니다.A positive 253 shifted right produces +126.

오른쪽으로 시프트하면 부호 있는 정수 형식의 부호 비트는 유지됩니다.Right shifts preserve the sign bit of signed integral types. 부호 있는 정수가 오른쪽으로 이동하면 최상위 비트는 설정된 상태로 유지됩니다.When a signed integer shifts right, the most-significant bit remains set. 예를 들어 0xF0000000이 부호 있는 int인 경우 오른쪽 시프트는 0xF8000000을 생성합니다.For example, if 0xF0000000 is a signed int, a right shift produces 0xF8000000. 음의 int를 오른쪽으로 32번 시프트하면 0xFFFFFFFF가 생성됩니다.Shifting a negative int right 32 times produces 0xFFFFFFFF.

부호 없는 정수가 오른쪽으로 이동하면 최상위 비트는 해제됩니다.When an unsigned integer shifts right, the most-significant bit is cleared. 예를 들어 0xF000에 부호가 없는 경우 결과는 0x7800입니다.For example, if 0xF000 is unsigned, the result is 0x7800. unsigned 또는 양의 int를 오른쪽으로 32번 이동하면 0x00000000이 생성됩니다.Shifting an unsigned or positive int right 32 times produces 0x00000000.

참고 항목See Also

정수Integers