java中關(guān)于移位運(yùn)算符的demo與總結(jié)(推薦)
首先,移位運(yùn)算符有三種,其操作類型只支持:byte / short / char / int和long五種。
<< 左移運(yùn)算符,表示將左邊的操作數(shù)的二進(jìn)制數(shù)據(jù)向左移動(dòng)*位,移動(dòng)后空缺位以0填充,多余位舍棄。(等同于乘2的n次方)
>> 右移運(yùn)算符,二進(jìn)制數(shù)據(jù)向右移動(dòng)*位,就在其二進(jìn)制數(shù)據(jù)后抹掉幾位?(這里還不錯(cuò)定,但個(gè)人理解是這樣的)(等同于除2的n次方)
>>> 無符號右移運(yùn)算符,不管移動(dòng)前最高位是0還是1,右移后左側(cè)產(chǎn)生的空位部分都以0來填充。
下面我們借一個(gè)demo幫助理解:
public static void main(String[] args){
int a = 16;
int b = a << 2;//左移2,等同于16 * 2的2次方,也就是16 * 4
int c = a >> 2;//右移2,等同于16 / 2的2次方,也就是16 / 4
System.out.println("a的二進(jìn)制數(shù)據(jù)為:" + Integer.toBinaryString(a));
System.out.println("a左移后二進(jìn)制數(shù)據(jù)為:" + Integer.toBinaryString(b));
System.out.println("a右移后二進(jìn)制數(shù)據(jù)為:" + Integer.toBinaryString(c));
System.out.println("a左移后的值為:" + b);
System.out.println("a右移后的值為:" + c);
}
}
查看運(yùn)行結(jié)果,如圖所示:

首先,16的二進(jìn)制數(shù)據(jù)為:10000;
左移兩位,10000變成1000000;
右移兩位,10000變成100;
把得到的二進(jìn)制數(shù)據(jù)轉(zhuǎn)換成普通數(shù)據(jù)后,
a左移后的值為64,既16 * 2的2次方(16 * 4)。
a右移后的值為4,既16 / 2的2次方(16 / 4)。
看完這個(gè)demo再理解移位運(yùn)算符是不是就簡單很多?
以上這篇java中關(guān)于移位運(yùn)算符的demo與總結(jié)(推薦)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Linux下Java開發(fā)環(huán)境搭建以及第一個(gè)HelloWorld
這篇文章主要介紹了Linux下Java開發(fā)環(huán)境搭建以及第一個(gè)HelloWorld的實(shí)現(xiàn)過程,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2015-09-09
SpringBoot Application的exclude不生效問題及排查
這篇文章主要介紹了SpringBoot Application的exclude不生效問題及排查,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11
mybatis新增save結(jié)束后自動(dòng)返回主鍵id詳解
這篇文章主要介紹了mybatis新增save結(jié)束后自動(dòng)返回主鍵id詳解,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12
springboot學(xué)習(xí)之構(gòu)建簡單項(xiàng)目搭建步驟詳解
這篇文章主要介紹了springboot學(xué)習(xí)之構(gòu)建簡單項(xiàng)目搭建步驟詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-10-10
Springboot讀取templates文件html代碼實(shí)例
這篇文章主要介紹了Springboot讀取templates文件html代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04

