java移位運(yùn)算符的計(jì)算方法是什么

小億
116
2023-08-01 14:30:08

Java中的移位運(yùn)算符用于對(duì)二進(jìn)制數(shù)進(jìn)行左移或右移操作。

左移運(yùn)算符(<<)將操作數(shù)的所有位向左移動(dòng)指定數(shù)量的位置。例如,表達(dá)式10 << 2將二進(jìn)制數(shù)10(即1010)向左移動(dòng)2位,得到二進(jìn)制數(shù)101000(即40)。

右移運(yùn)算符(>>)將操作數(shù)的所有位向右移動(dòng)指定數(shù)量的位置。如果操作數(shù)是正數(shù),則在移位過(guò)程中,最左邊的位將用0填充;如果操作數(shù)是負(fù)數(shù),則在移位過(guò)程中,最左邊的位將用1填充。例如,表達(dá)式-10 >> 2將二進(jìn)制數(shù)-10(即11111111111111111111111111110110)向右移動(dòng)2位,得到二進(jìn)制數(shù)11111111111111111111111111111101(即-3)。

無(wú)符號(hào)右移運(yùn)算符(>>>)將操作數(shù)的所有位向右移動(dòng)指定數(shù)量的位置,無(wú)論操作數(shù)是正數(shù)還是負(fù)數(shù),最左邊的位都將用0填充。例如,表達(dá)式-10 >>> 2將二進(jìn)制數(shù)-10(即11111111111111111111111111110110)向右移動(dòng)2位,得到二進(jìn)制數(shù)00111111111111111111111111111101(即1073741821)。

移位運(yùn)算符的計(jì)算方法是將操作數(shù)轉(zhuǎn)換為二進(jìn)制數(shù),然后根據(jù)規(guī)則進(jìn)行位移操作,并將結(jié)果轉(zhuǎn)換回十進(jìn)制數(shù)。

0