Какво прави оператора >>> в Java?


4
Здравейте!
Някой може ли да ми каже какво прави оператора >>> в Java?
Благодаря предварително!



Отговори



1

The unsigned right shift operator ">>>" shifts a zero into the leftmost position

http://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.19


от easlavov (4118 точки)


0
Тези неща ги погледнах преди да пиша тук. Все още не ми е ясно как работи, може ли да ми дадете някакъв пример?

от DJ_Zoning (161 точки)

0
Прощавай, че направо копирам, но прочетох този пример и ми се струва добре обяснено:
Unsigned Right Shift Operator >>> This operator shifts the first operand the specified number of bits to the right. Excess bits shifted off to the right are discarded. Zero bits are shifted in from the left.
When shifting right ( >> ) the leftmost bits exposed by the right shift are filled in with previous contents of the leftmost bit. BUT, the >>> unsigned right shift operator always fill zero's and only zero's no matter positive and negative number. For example,
Let's do 00000000 00000000 00000000 00001100 >>> 2 (12>>>2) and the result is 00000000 00000000 00000000 00000011 (3). Let's do 11111111 11111111 11111111 11110100 >>> 2 (-12>>>2) and the result is 00111111 11111111 11111111 11111101 (1073741821).

от easlavov (4118 точки)


2
Shift right zero fill operator. The left operands value is moved right by the number of bits specified by the right operand and shifted values are filled up with zeros. A >>>2 will give 15 which is 0000 1111

*Assume integer variable A holds 60 


от ktsarnakliyski (1115 точки)