日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java如何使用移位运算符_JAVA移位运算符使用教程

發布時間:2024/8/1 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java如何使用移位运算符_JAVA移位运算符使用教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

位運算符用來對二進制位進行操作,分為左移位操作和右移位操作。

左移位運算符

●左移位運算的符號為<

●特點

◆是雙目運算符。

◆操作元必須是整型類型的數據。

●左位移的過程

◆假設a是一個被移位的整型數據,n是位移量。

◆a<

◆比如:對整形數 8<<1的計算

8的二進制表示: 0000,0000,0000,0000,0000,0000,0000,1000

左移一位的結果:0000,0000,0000,0000,0000,0000,0001,0000

●注意

◆左位移操作是對整型數的操作,操作符兩邊必須是整型。

◆比整型更小的數據類型數據將被轉換成整型進行運算,比整型更大的數據類型數據是不能進行移位運算的。

◆比整型更小的數據類型數據將被轉換成整型時:對于正數將高位用0填充;負數將高位用1填充。

◆例:

byte a = -8;

System.out.println(a<<2);

結果:-32

1111,1111,1111,1111,1111,1111,1111,1000

1111,1111,1111,1111,1111,1111,1110,0000

◆在進行a<

★如果a是byte、short或int型數據,系統總是先計算出n%32的結果m,然后進行a<

★對于long型數據,系統總是先計算出n%64的結果m,然后進行a<

★比如:

對于int數 5<<1與5<<33的結果相等;

對于long數 5<<1與5<<65的結果相等。

右移位運算符

右移位運算的符號為>>,右移位運算符左面的操作元稱作被移位數,右面的操作數稱作移位量。

●特點

◆是雙目運算符。

◆操作元必須是整型類型的數據。

●右位移的過程

◆假設a是一個被移位的整型數據,n是位移量。

◆a>>n運算的過程是通過將a的所有位都右移n位,每右移一個位,右邊的最低位(即右邊的第1位)上的0或1被移出丟棄,并用0或1填充左邊的高位(a是正數時用0填充,負數時用1填充)。

◆比如:對整形數 8>>1的計算

8的二進制表示: 0000,0000,0000,0000,0000,0000,0000,1000

右移一位的結果:0000,0000,0000,0000,0000,0000,0000,0100

●注意

◆右位移操作是對整型數的操作,操作符兩邊必須是整型。

◆比整型更小的數據類型數據將被轉換成整型進行運算,比整型更大的數據類型數據是不能進行移位運算的。

◆比整型更小的數據類型數據將被轉換成整型時:對于正數將高位用0填充;負數將高位用1填充。

◆例:

byte a = -8;

System.out.println(a>>2);

結果:-2

1111,1111,1111,1111,1111,1111,1111,1000

1111,1111,1111,1111,1111,1111,1111,1110

◆在進行a>>n運算時

★如果a是byte、short或int型數據,系統總是先計算出n%32的結果m,然后進行a>>m運算。

★對于long型數據,系統總是先計算出n%64的結果m,然后進行a>>m運算。

★比如:

對于int數 5>>1與5>>33的結果相等;

對于long數 5>>1與5>>65的結果相等。

總結

以上是生活随笔為你收集整理的java如何使用移位运算符_JAVA移位运算符使用教程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。