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 중국어 웹사이트!