>Java >java지도 시간 >Java의 시프트 연산자: <<,>>,>>> 요약

Java의 시프트 연산자: <<,>>,>>> 요약

高洛峰
高洛峰원래의
2016-12-16 16:57:201590검색

Java에는 세 가지 시프트 연산자가 있습니다.

61a3d95d4e921678e91b631faff0764c> ; : 오른쪽 시프트 연산자, num >> 1, num을 2로 나누는 것과 동일

>>: 부호 없는 오른쪽 시프트, 부호 비트를 무시하고 빈 비트를 0

이러한 교대 연산이 어떻게 사용되는지 살펴보겠습니다

/**
 * 
 */
package com.b510.test;

/**
 * @author Jone Hongten
 * @create date:2013-11-2
 * @version 1.0
 */
public class Test {

    public static void main(String[] args) {
        int number = 10;
        //原始数二进制
        printInfo(number);
        number = number << 1;
        //左移一位
        printInfo(number);
        number = number >> 1;
        //右移一位
        printInfo(number);
    }
    
    /**
     * 输出一个int的二进制数
     * @param num
     */
    private static void printInfo(int num){
        System.out.println(Integer.toBinaryString(num));
    }
}

실행 결과는 다음과 같습니다.

1010
10100
1010

위 결과를 정렬해 보겠습니다.

位数
--------
     十进制:10     原始数         number
     十进制:20     左移一位       number = number << 1;
     十进制:10     右移一位       number = number >> 1;

위 데모를 읽고 나면 이제 왼쪽 Shift와 오른쪽 Shift에 대해 많이 알게 되셨나요?

For: >>>

부호 없는 오른쪽 Shift, 부호 비트는 다음과 같습니다. 무시되고 빈 비트는 0으로 채워집니다.

value >>> num -- num은 값 값을 이동할 자릿수를 지정합니다.

부호 없는 오른쪽 시프트 규칙에 대해 한 가지만 기억하세요. 부호 비트 확장을 무시하고 가장 높은 비트를 0으로 채웁니다. 부호 없는 오른쪽 시프트 연산자>>> -bit 값.


Java의 추가 시프트 연산자: 5978a5c05168924abb7fe8a69100186c>>>> PHP 중국어 웹사이트!

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