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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

java位运算符,&,|,>>>,>>,<<,<<<的区别

發布時間:2024/1/4 综合教程 51 生活家
生活随笔 收集整理的這篇文章主要介紹了 java位运算符,&,|,>>>,>>,<<,<<<的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

說明

最近讀到javaReentrantReadWriteLock 用到了位運算符 所以先看位運算符 再去學習源碼

二進制在線計算器

http://www.99cankao.com/digital-computation/binary-decimal-converter.php

補碼,反碼,原碼

https://www.cnblogs.com/shamo89/p/9846385.html

轉為二進制進行運算同為1時為1

如:3&5,3的二進制:11,5的二進制為101 運算后為001

計算

011

101

---

001

|

轉為二進制進行運算,同為0時為0,否則為1

如:3&5,3的二進制:11,5的二進制為101 運算后為111

011

101

---

111

<<

注:因為java int是32位所以補了一堆0

表示左移移,不分正負數,低位補0;

正數:4<<1

    轉換為二進制00000000 00000000 00000000 00000100<<1   

二進制向左移動1位低位補0得出00000000 00000000 00000000 00001000

轉為10進制=8

負數-4<<1

負數的二進制表示為絕對值的二進制最高位補1,10000000 00000000 00000000 00000100

反碼(最高位符號位不變)1111111111111111 11111111 111011

補碼(最低位進1)1111111111111111 11111111 1111100

補碼左移(最低位補0) 1111111111111111 11111111 111000

反碼(最高位符號位不變)1111111111111111 11111111 110111

原碼(最高位符號位不變),10000000 00000000 00000000 00001000 最高位是符號位 所以我們直接拿1000轉二進制等于8 最高位1 表示負數 所以得出-8

<<<

java沒得這個編譯出錯

>>

表示右移,如果該數為正,則高位補0,若為負數,則高位補1;

正數:r = 4 >> 1

轉換為二進制00000000 00000000 00000000 00000100

右移1位 00000000 00000000 00000000 00000010

轉為10進制 2

負數r = -4 >> 1

轉換為二進制10000000 00000000 00000000 00000100

反碼 11111111111111111111111111111011

補碼11111111111111111111111111111100

補碼右移1位 11111111111111111111111111111110

(根據補碼反推反碼)11111111111111111111111111111101

(根據反碼反推原碼)原碼10000 00000 10000 00000010

10轉二進制 2 符號位1表示負數 最終得出-2

>>>

表示無符號右移,也叫邏輯右移,即若該數為正,則高位補0,而若該數為負數,則右移后高位同樣補0

正數: r = 4 >>> 1

    的結果與 r = 4>> 1 相同;

負數:r = -4 >>> 1

轉換為二進制10000000 00000000 00000000 00000100

反碼 11111111111111111111111111111011

補碼11111111111111111111111111111100

補碼右移1位(高位補0) 01111111111111111111111111111110

補碼轉10進制等于2147483646

總結

以上是生活随笔為你收集整理的java位运算符,&amp;,|,&gt;&gt;&gt;,&gt;&gt;,&lt;&lt;,&lt;&lt;&lt;的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

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