Heim  >  Artikel  >  Java  >  Was bedeutet >> in Java?

Was bedeutet >> in Java?

青灯夜游
青灯夜游Original
2019-11-19 14:35:539402Durchsuche

Was bedeutet >> in Java?

java中>>什么意思?

在java中,是一个“有符号”右移位运算符;它会将运算符左边的运算对象向右移动运算符右侧指定的位数。运算符使用了“符号扩展”:若值为正,则在高位插入0;若值为负,则在高位插入1。

1、它的通用格式如下所示:

value >> num

num 指定要移位值value 移动的位数。
右移的规则只记住一点:符号位不变,左边补上符号位

2、运算规则:

按二进制形式把所有的数字向右移动对应的位数,低位移出(舍弃),高位的空位补符号位,即正数补零,负数补1

当右移的运算数是byte 和short类型时,将自动把这些类型扩大为 int 型。

例如,如果要移走的值为负数,每一次右移都在左边补1,如果要移走的值为正数,每一次右移都在左边补0,这叫做符号位扩展(保留符号位)(sign extension ),在进行右移

操作时用来保持负数的符号。

3、数学意义

右移一位相当于除2,右移n位相当于除以2的n次方。

4、计算过程

11 >>2(11为int型)

1)、11的二进制形式为:0000 0000 0000 0000 0000 0000 0000 1011

2)、把低位的最后两个数字移出,因为该数字是正数,所以在高位补零。

3)、最终结果是0000 0000 0000 0000 0000 0000 0000 0010。

4)、转换为十进制是3。

35 >> 2(35为int型)

1)、35转换为二进制:0000 0000 0000 0000 0000 0000 0010 0011

2)、把低位的最后两个数字移出:0000 0000 0000 0000 0000 0000 0000 1000

3)、转换为十进制: 8

推荐教程:Java教程

Das obige ist der detaillierte Inhalt vonWas bedeutet >> in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Was bedeutet für in Java?Nächster Artikel:Was bedeutet für in Java?