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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

“”和“” java

發布時間:2023/12/4 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 “”和“” java 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
“>>”算術右移運算符, 表示帶符號右移,它使用最高位填充移位后左側的空位。右移的結果為:每移一位,第一個操作數被2除一次,移動的次數由第二個操作數確定。
按二進制形式把所有的數字向右移動對應巍峨位數,低位移出(舍棄),高位的空位補符號位,即正數補零,負數補“
>>>“無符號右移運算,邏輯右移, 表示無符號右移, 只對位進行操作,沒有算術含義,它用0填充左側的空位。 按二進制形式把所有的數字向右移動對應位數,低位移出(舍棄),高位的空位補零。對于正數來說和帶符號右移相同,對于負數來說不同。 j>>>i 與 j/(int)(Math.pow(2,i))的結果相同,其中i和j是整形。算術右移不改變原數的符號,而邏輯右移不能保證這點。 移位運算符約簡其右側的操作數,當左側操作數是int類型時,右側以32取模;當左側是long類型時,右側以64取模。測試代碼1:public class Test { public static void main(String[] args) { System.out.println("1、以下測試>:"); int a = 1, b = 2; System.out.println(a > b); System.out.println("\n2、以下測試>>:"); System.out.println("15 >> 2 = " + (15 >> 2)); System.out.println("\n3、以下測試>>>:"); for (int i = 0; i < 10; i++) { for (int j = 0; j < 500; j = j + 5) { System.out.println(j / (int) (Math.pow(2, i))); System.out.println(j >>> i); } } } }測試代碼2:public class Test { public Test(){ System.out.println("=============算術右移 >> ==========="); int i=0xC0000000; System.out.println("移位前:i= "+i+" = "+Integer.toBinaryString(i)+"(B)"); i=i>>28; System.out.println("移位后:i= "+i+" = "+Integer.toBinaryString(i)+"(B)"); System.out.println("---------------------------------"); int j=0x0C000000; System.out.println("移位前:j= "+j+" = "+Integer.toBinaryString(j)+"(B)"); j=j>>24; System.out.println("移位后:j= "+j+" = "+Integer.toBinaryString(j)+"(B)"); System.out.println("\n"); System.out.println("==============邏輯右移 >>> ============="); int m=0xC0000000; System.out.println("移位前:m= "+m+" = "+Integer.toBinaryString(m)+"(B)"); m=m >>> 28; System.out.println("移位后:m= "+m+" = "+Integer.toBinaryString(m)+"(B)"); System.out.println("---------------------------------"); int n=0x0C000000; System.out.println("移位前:n= "+n+" = "+Integer.toBinaryString(n)+"(B)"); n=n>>24; System.out.println("移位后:n= "+n+" = "+Integer.toBinaryString(n)+"(B)"); System.out.println("\n"); System.out.println("==============移位符號的取模==============="); int a=0xCC000000; System.out.println("移位前:a= "+a+" = "+Integer.toBinaryString(a)+"(B)"); System.out.println("算術右移32:a="+(a>>32)+" = "+Integer.toBinaryString(a>>32)+"(B)"); System.out.println("邏輯右移32:a="+(a>>>32)+" = "+Integer.toBinaryString(a>>>32)+"(B)"); } public static void main(String[] args){ new Test(); } } 運行結果: =============算術右移 >> =========== 移位前:i= -1073741824 = 11000000000000000000000000000000(B) 移位后:i= -4 = 11111111111111111111111111111100(B) --------------------------------- 移位前:j= 201326592 = 1100000000000000000000000000(B) 移位后:j= 12 = 1100(B)==============邏輯右移 >>> ============= 移位前:m= -1073741824 = 11000000000000000000000000000000(B) 移位后:m= 12 = 1100(B) --------------------------------- 移位前:n= 201326592 = 1100000000000000000000000000(B) 移位后:n= 12 = 1100(B)

?

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的“”和“” java的全部內容,希望文章能夠幫你解決所遇到的問題。

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