자바에서 >>는 무엇을 의미하나요?
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 10112) , 하위 비트의 마지막 두 자리는 밖으로 이동되고 숫자가 양수이므로 상위 비트는 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 00112), 마지막 두 자리 이동: 0000 0000 0000 0 00 0000 0000 0000 10003), 십진수로 변환: 8추천 튜토리얼:
위 내용은 >>는 자바에서 무엇을 의미하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!