>Java >java지도 시간 >>>는 자바에서 무엇을 의미하나요?

>>는 자바에서 무엇을 의미하나요?

青灯夜游
青灯夜游원래의
2019-11-19 14:35:539447검색

>>는 자바에서 무엇을 의미하나요?

자바에서 >>는 무엇을 의미하나요?

Java에서 是一个“有符号”右移位运算符;它会将运算符左边的运算对象向右移动运算符右侧指定的位数。 연산자는 "부호 확장"을 사용합니다. 값이 양수이면 상위 비트에 0이 삽입되고, 값이 음수이면 1이 삽입됩니다. 높은 비트에서.

1의 일반적인 형식은 다음과 같습니다.

value >> num

num은 값 값을 이동할 비트 수를 지정합니다.
오른쪽 시프트 규칙에 대해 한 가지만 기억하세요. 부호 비트는 변경되지 않고 왼쪽에 부호 비트가 추가됩니다

2.

이진수에 따르면 이 형식은 모든 숫자를 해당 자릿수만큼 오른쪽으로 이동하고, 낮은 비트를 밖으로 이동하고(폐기), 높은 비트를 부호 비트로 채웁니다. 즉, 양수에는 0을 채우고 1 음수의 경우

오른쪽 시프트의 피연산자가 byte 및 short 유형인 경우 이러한 유형은 자동으로 int 유형으로 확장됩니다.

예를 들어 제거할 값이 음수인 경우 오른쪽으로 쉬프트할 때마다 왼쪽에 1이 추가됩니다. 제거할 값이 양수인 경우 오른쪽으로 쉬프트할 때마다 0이 추가됩니다. 이것을 부호 비트 확장(sign Extension)이라고 하는데, 오른쪽 쉬프트

연산을 수행할 때 음수의 부호를 유지하기 위해 사용됩니다.

3. 수학적 의미

1비트를 오른쪽으로 쉬프트하는 것은 2로 나누는 것과 같고, n비트를 오른쪽으로 쉬프트하는 것은 2에서 n번째를 올리는 것과 같습니다. 힘.

4. 계산 과정

11 >>2(11为int型)

1), 11의 이진 형식은 다음과 같습니다. 0000 0000 0000 0000 0000 0000 0000 1011

2) , 하위 비트의 마지막 두 자리는 밖으로 이동되고 숫자가 양수이므로 상위 비트는 0으로 채워집니다.

3) 최종 결과는 0000 0000 0000 0000 0000 0000 0000 0010입니다.

4), 십진수로 환산하면 3입니다.

35 >> 2(35为int型)

1), 35를 이진수로 변환: 0000 0000 0000 0000 0000 0000 0010 0011

2), 마지막 두 자리 이동: 0000 0000 0000 0 00 0000 0000 0000 1000

3), 십진수로 변환: 8

추천 튜토리얼:

JavaTutorial

위 내용은 >>는 자바에서 무엇을 의미하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.