오늘은 java 왼쪽 쉬프트와 오른쪽 쉬프트에 대해 살펴보았습니다.
자바에서는 양수와 음수를 2의 보수 형태로 표현합니다
예를 들어 -2 in 컴퓨터 표현은 11111111 11111111 11111110
1입니다. 왼쪽 시프트
-2<<2, 즉 -2 왼쪽 시프트의 결과입니다. 2 비트는 11111111 11111111 111 11111 11111000 (하위 비트는 0으로 채워짐)
위는 보수 코드로, 가장 높은 비트가 1로 음수임을 나타냅니다. 는 양수의 원래 코드입니다. "가장 높은 비트는 1이고 나머지 비트는 반전됩니다. 끝에 1을 추가하여 얻습니다."
따라서 -2<
2임을 알 수 있습니다. right
상위 비트가 1이면 1을 더하고, 상위 비트가 0이면 0을 더합니다. 00000000 00000000 00000001 (- 1)
3. "="와 결합하여
a<<=2를 사용하여 2비트만큼 왼쪽으로 이동한 값을 나타냅니다. a
에 할당합니다. 추가하자면, Java 가상 머신은 빅 엔디안과 리틀 엔디안의 문제를 보호하며 내부적으로는 모두 리틀 엔디안입니다.