Java right shift operator usage: 1. Signed right shift, moves a binary number to the right by the specified number of digits, and fills the digits on the left according to the sign bit of the original number. If the original number is positive If the original number is a negative number, fill it with zero bits on the left. 2. Unsigned right shift, move a binary number to the right by the specified number of digits, and fill it with zeros on the left. bits, regardless of the sign bit of the original number.
The right shift operator (>>) in Java is used to move a binary number to the right by a specified number of digits, and The sign bit is padded with the number of bits on the left. The right shift operator comes in two forms: signed right shift (signed right shift) and unsigned right shift.
1. Signed right shift (signed right shift)
The signed right shift operator moves a binary number to the right by the specified number of digits and fills it according to the sign bit of the original number Number of digits on the left. If the original number is positive, it is padded with zero bits on the left; if the original number is negative, it is padded with one bit on the left. The syntax of the signed right shift operator is as follows:
int result = value >> num;
where value is the binary number to be moved, num is the number of digits to be moved, and result is the result of the operation.
The sample code is as follows:
int num = 10; // 要移动的二进制数 int shift = 2; // 要移动的位数 int result = num >> shift; // 有符号右移运算符的计算结果 System.out.println(result); // 输出结果为2
In this example, the binary number 10 is shifted right by 2 bits to get 00001010, and then converted to a decimal number 2, the final output result is 2.
2. Unsigned right shift
The unsigned right shift operator moves a binary number to the right by the specified number of digits and fills zero bits on the left, regardless of the sign of the original number. Bit. The syntax of the unsigned right shift operator is as follows:
int result = value >>> num;
Among them, value is the binary number to be moved, num is the number of digits to be moved, and result is the result of the operation.
The sample code is as follows:
int num = -10; // 要移动的二进制数 int shift = 2; // 要移动的位数 int result = num >>> shift; // 无符号右移运算符的计算结果 System.out.println(result); // 输出结果为1073741821
In this example, the binary number -10 is unsigned and right-shifted by 2 bits to get 0011111111111111111111111111110, and then converted to a decimal number 1073741821, the final output result is 1073741821.
It should be noted that the number of digits to be moved must be a non-negative integer, otherwise an exception will be thrown. When using the right shift operator, special attention should be paid to how the sign bit and zero bit are filled to avoid unexpected operation results.
The above is the detailed content of How to use java right shift operator. For more information, please follow other related articles on the PHP Chinese website!