国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

java中關于移位運算符的demo與總結

2019-11-14 15:35:41
字體:
來源:轉載
供稿:網友

首先,移位運算符有三種,其操作類型只支持:byte / short / char / int和long五種。

<< 左移運算符,表示將左邊的操作數的二進制數據向左移動*位,移動后空缺位以0填充,多余位舍棄。(等同于乘2的n次方

>> 右移運算符,二進制數據向右移動*位,就在其二進制數據后抹掉幾位?(這里還不錯定,但個人理解是這樣的)(等同于除2的n次方

>>> 無符號右移運算符,不管移動前最高位是0還是1,右移后左側產生的空位部分都以0來填充。

下面我們借一個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. Integer.toBinaryString(a));        System.out.println("a左移后二進制數據為:" + Integer.toBinaryString(b));        System.out.println("a右移后二進制數據為:" + Integer.toBinaryString(c));                System.out.println("a左移后的值為:" + b);        System.out.println("a右移后的值為:" + c);    }}

查看運行結果,如圖所示:

首先,16的二進制數據為:10000;

左移兩位,10000變成1000000;

右移兩位,10000變成100;

把得到的二進制數據轉換成普通數據后,

a左移后的值為64,既16 * 2的2次方(16 * 4)。

a右移后的值為4,既16 / 2的2次方(16 / 4)。

看完這個demo再理解移位運算符是不是就簡單很多?


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东方市| 新津县| 民丰县| 鹰潭市| 农安县| 黎平县| 新龙县| 阿拉善左旗| 杭州市| 武威市| 商都县| 襄汾县| 平顺县| 偏关县| 台北市| 安宁市| 洪湖市| 阳山县| 若尔盖县| 周至县| 株洲市| 永定县| 安多县| 汾阳市| 沙河市| 中西区| 永和县| 铁岭县| 连江县| 临邑县| 钦州市| 龙门县| 菏泽市| 务川| 清水县| 陵川县| 麻城市| 临洮县| 阜新市| 静宁县| 江门市|