java中int 類型的移位運算與位運算


移位運算

在計算機中,int類型是以二進制的形式展示的,如9表示為:

00000000 0000000 0000000 00001001

int類型可進行移位運算,如:

int n = 7; // 00000000 00000000 00000000 00000111 = 7

int a = n << 1; // 00000000 00000000 00000000 00001110 = 14

int b = n << 2; // 00000000 00000000 00000000 00011100 = 28

int c = n << 28; // 01110000 00000000 00000000 00000000 = 1879048192

int d = n << 29; // 11100000 00000000 00000000 00000000 = -536870912

當左移29位時,由於最高位變成1,因此結果變成了負數。

位運算

一共四種,分別為&(且)、|(或)、~(非)、^(異或)

x = 0 & 0; // 0 x = 0 & 1; // 0 x = 1 & 0; // 0 x = 1 & 1; // 1
n = 0 | 0; // 0 n = 0 | 1; // 1 n = 1 | 0; // 1 n = 1 | 1; // 1
n = ~0; // 1 n = ~1; // 0
n = 0 ^ 0; // 0 n = 0 ^ 1; // 1 n = 1 ^ 0; // 1 n = 1 ^ 1; // 0


代碼示例:

 public class Main {
  public static void main(String[] args) {
    int i = 11; // 00000000 00000000 00000000 00001011
    int n = 9; // 00000000 00000000 00000000 00001001
    System.out.println(i & n); // 9
   }
 }

 


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM