Javatpoint Logo
Javatpoint Logo

Right Shift Zero Fill Operator in Java

In Java, the ">>>" operator is the right shift zero fill operator. When using the right shift operator in Java, the bits of a number are shifted to the right, and any bits that are shifted beyond the right end are discarded. The bits shifted from the left are set to zero, regardless of their original value. Unlike the ">>" operator, which is designed for signed integers and preserves the sign bit, the ">>>" operator is used for unsigned integers. In Java, the ">>> " operator is the "unsigned right shift operator," also known as the "zero-fill right shift operator". It shifts all the bits to the right a specified number of times and fills the leftmost bits with zeroes. The operator is used like this:

Where 'x' is the value to be shifted, and 'n' is the number of positions to shift the bits.

Unlike the ">>" operator, which is the "signed right shift operator" and can result in negative numbers due to sign bit preservation during shifting, the ">>>" operator is used for unsigned integers.

Use of the ">>> " operator:

Filename: RightShift1.java

Output:

x = -8, y = 1073741822

Explanation: In this example, the variable 'x' is initially set to -8, representing in binary as '11111000'. When we shift the bits of 'x' to two places to the right using the ">>> " operator, the leftmost bits are filled with zeroes, and the resulting value is stored in the variable 'y'. The value of 'y' will be '00111110' (62 in decimal)

You can also use this operator on other types like byte and short, but you must cast them to int first.

It's also important to note that this operator is useful for working with unsigned integers, which are integers that can never be negative.

Filename: RightShift2.java

Output:

Original number: -5
After right shift zero fill: 1073741822

Explanation: In this example, the variable 'num' is initialized with the value -5. When we use the ">>> 2" operator on this variable, it shifts all the bits of the number two places to the right and fills the leftmost bits with zeroes. So, the new value of 'shiftRightZeroFill' will be 1073741819.

It's important to note that the ">>> " operator only works for non-negative integers. If you try to use it on a negative number, it will be converted to a positive by taking the two's complement representation.







Youtube For Videos Join Our Youtube Channel: Join Now

Feedback


Help Others, Please Share

facebook twitter pinterest

Learn Latest Tutorials


Preparation


Trending Technologies


B.Tech / MCA