国产探花免费观看_亚洲丰满少妇自慰呻吟_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再理解移位運算符是不是就簡單很多?


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安顺市| 绿春县| 斗六市| 张家口市| 宁南县| 共和县| 清远市| 红河县| 武胜县| 南汇区| 琼海市| 灌阳县| 宣恩县| 蓬溪县| 佛冈县| 阿拉善左旗| 磐石市| 赤壁市| 惠水县| 德州市| 逊克县| 祁连县| 上饶县| 文安县| 灵宝市| 巍山| 西峡县| 芦山县| 建始县| 兴文县| 乡城县| 禄丰县| 渑池县| 麻阳| 金昌市| 正安县| 大埔县| 武威市| 达尔| 乌兰县| 措勤县|