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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

与,或,非,异或,左移,右移,位运算符号总结

發布時間:2023/12/8 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 与,或,非,异或,左移,右移,位运算符号总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在Java中,所有數據的表示方法都是以補碼的形式表示,如果沒有特殊說明,Java中的數據類型默認是int,int數據類型的長度是8位,一位是四個字節,就是32字節,32bit.

一:與運算符(&)

運算規則:

0&0=0;0&1=0;1&0=0;1&1=1

即:兩個同時為1,結果為1,否則為0

例如:5&7

十進制5轉為二進制的5:0000 0101

十進制7轉為二進制的7:0000 0111

結果:0000 0101 ->轉為十進制:5

即:5&7 = 5

二:或運算(|)

運算規則:

0|0=0; 0|1=1; 1|0=1; 1|1=1;

即 :參加運算的兩個對象,一個為1,其值為1。

例如:5|7 即 0000 0101 | 0000 0111 = 0000 0111,因此,5|7=7。

三:異或運算符(^)

運算規則可以簡單理解為相加后不進位

運算規則:0^0=0; 0^1=1; 1^0=1; 1^1=0;

即:參加運算的兩個對象,如果兩個位為“異”(值不同),則該位結果為1,否則為0。

例如:5^7 = 0000 0101 ^ 0000 0111 =0000 0010,因此,5^7 = 7

性質:

1.N^0=N

2.N^N=0

3.同一批數,通過交換律結合律,最后異或出來是同一個數

四:左移(<<)

運算規則:二進制位向左移動相應位數,高處越位丟棄,低位補0;

如:5<<2,5=00000101,5<<2=00010100=20,即5 * 2?

公式:m<<n=m* 2?

五:右移(>>)

運算規則:二進制位向右移動相應位數,低位丟棄,高位補0;

如:5>>2,5=00000101,5>>2=00000001=1,即5/(2?)向左取整
公式:m>>n=m/2?

>>>:無符號右移(注意:沒有無符號左移)

無符號右移(注意:沒有無符號左移)

正數做>>>運算的時候和>>是一樣的。區別在于負數運算

六:非運算符(~)

運算規則:如果位為0,結果是1,如果位為1,結果是0.

在Java中,所有數據的表示方法都是以補碼的形式表示

如:~37

8轉為二進制是100101.

補碼后為: 00000000 00000000 00000000 00100101

取反為: 11111111 11111111 11111111 11011010

因為高位是1,所以原碼為負數,負數的補碼是其絕對值的原碼取反,末尾再加1。

因此,我們可將這個二進制數的補碼進行還原: 首先,末尾減1得反碼:11111111 11111111 11111111 11011001 其次,將各位取反得原碼:

00000000 00000000 00000000 00100110,此時二進制轉原碼為38

所以~37 = -38.

進制轉換工具

加運算的兩個對象,按二進制位進行運算。

進制轉換地址:http://tool.oschina.net/hexconvert/

總結

以上是生活随笔為你收集整理的与,或,非,异或,左移,右移,位运算符号总结的全部內容,希望文章能夠幫你解決所遇到的問題。

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