首頁  >  文章  >  Java  >  JAVA移位運算符

JAVA移位運算符

高洛峰
高洛峰原創
2016-12-16 17:03:311906瀏覽

移位運算子就是在二進位的基礎上對數字進行平移。依照平移的方向和填滿數字的規則分為三種:>(帶符號右移)和>>>(無符號右移)。
  在移位運算時,byte、short和char型別移位後的結果會變成int型,對於byte、short、char和int進行移位時,規定實際移動的次數是移動次數和32的餘數,也就是移位33次和移位1次得到的結果相同。移動long型的數值時,規定實際移動的次數是移動次數和64的餘數,也就是移動66次和移動2次得到的結果相同。

      386 以後的硬體將移位對字長進行取模,右移32位元就是右移了0位元(CPU 把右移的位數 32 對於字長 32 進行取模運算,右移 32 位仍然是 9。你可以換一下for迴圈的條件,像是換成i
      三種移位運算子的移動規則和使用如下所示: 
    語法格式: 
  需要移位的數字   例如: 3   在數字沒有溢出的前提下乘以正數和負數的1次方,左移n位就相當於乘以2的n次方。
  >>運算規則:以二進位形式把所有的數字向右移動對應巍峨位數,低位移出(捨棄),高位的空位補符號位,即正數補零,負數補1. 
  語法格式: 🟎  移位的數字 >> 移位的次數 
  例如11 >> 2,則是將數字11右移2位 
  計算過程:11的二進位形式為:0000 0000 0000010兩個數字移出,因為數字是正數,所以在高位補零。則得到的最終結果是0000 0000 0000 0000 0000 0000 0000 0010.轉換為十進位為3. 
    
  >>>運算規則:以二元形式把所有的數字向右移動對應巍峨位數,低位移出(捨棄),高位的空位補零。對於正數來說和帶符號右移相同,對於負數來說不同。 
  其他結構和>>相似。 




更多JAVA移位運算子相關文章請追蹤PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn