程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> java中關於移位運算符的demo與總結(推舉)

java中關於移位運算符的demo與總結(推舉)

編輯:關於JAVA

java中關於移位運算符的demo與總結(推舉)。本站提示廣大學習愛好者:(java中關於移位運算符的demo與總結(推舉))文章只能為提供參考,不一定能成為您想要的結果。以下是java中關於移位運算符的demo與總結(推舉)正文


起首,移位運算符有三種,其操作類型只支撐: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.println("a的二進制數據為:" + 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再懂得移位運算符是否是就簡略許多?

以上這篇java中關於移位運算符的demo與總結(推舉)就是小編分享給年夜家的全體內容了,願望能給年夜家一個參考,也願望年夜家多多支撐。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved