中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#位運算以及實例計算詳解

發布時間:2020-08-19 15:29:14 來源:腳本之家 閱讀:212 作者:艾三元 欄目:編程語言

前言:

平時在實際工作中很少用到這個,雖然都是一些比較基礎的東西,但一旦遇到了,又不知所云。剛好最近接觸了一些相關這方面的項目,所以也算是對 這些內容重新溫習實踐了一遍。所以這篇不僅作為個人備忘,也分享給各位重溫一遍。

要學會位運算,首先要清楚什么是位運算?程序中的所有內容在計算機內存中都是以二進制的形式儲存的(即:0或1),位運算就是直接對在內存中的二進制數的每位進行運算操作。

了解:

在C#中可以對整型運算對象按位進行邏輯運算。按位進行邏輯運算的意義是:依次取被運算對象的每個位,進行邏輯運算,每個位的邏輯運算結果是結果值的每個位

運算符號
意義
運算對象類型
運算結果類型
對象數
實例
~
位邏輯非運算
整型,字符型
整型
1
~a
&
位邏輯與運算
2
a & b
|
位邏輯或運算
2
a | b
^
位邏輯異或運算
2
a ^ b
<< 
位左移運算
2
a<<4
>> 
位右移運算
2
a>>2

開始:

一、位邏輯非運算

位邏輯非運算是單目的,只有一個運算對象。位邏輯非運算按位對運算對象的值進行非運算。符號為:~

即:如果某一位等于0,就將其轉變為1;如果某一位等于1,就將其轉變為0

對二進制的10010001進行位邏輯非運算,結果等于01101110

用十進制:~145等于110

二、位邏輯與運算

位邏輯與運算將兩個運算對象按位進行與運算。符號為&。

運算規則為:1&1=1;0&1=0;0&0=0

#region 位運算與運算
   int a = 11; //11的二進制是0000 1011
   int b = 13; //13的二進制是0000 1101
   Console.WriteLine(a & b); //11 & 13的結果就是0000 1001 即結果是9
   Console.Read();

   #endregion

C#位運算以及實例計算詳解

三、位邏輯或運算

位邏輯或運算將兩個運算對象按位進行或運算。符號為 |

運算規則為:1|1=1;1|0=1;0|0=0

      #region 位運算或運算
      int a = 11; //11的二進制是0000 1011
      int b = 13; //13的二進制是0000 1101
      Console.WriteLine(a | b); //11 | 13的結果就是0000 1111 即結果是15
      Console.Read();
      #endregion

C#位運算以及實例計算詳解

四、位邏輯異或運算

位邏輯異或運算將兩個運算對象按位進行異或運算。符號為^

運算規則:1^1=0;1^0=1;0^0=0 (相同得0,相異得1)

      #region 位運算異或運算
      int a = 11; //11的二進制是0000 1011
      int b = 13; //13的二進制是0000 1101
      Console.WriteLine(a ^ b); //11 ^ 13的結果就是0000 0110 即結果是6
      Console.Read();
      #endregion

C#位運算以及實例計算詳解

五、位左移運算

位左移運算將整個數按位左移若干位,左移后空出的部分0。符號為:<<

運算規則:a<<1 =a乘以2的1次方;a<<2 =a乘以2的2次方;a<<3 =a乘以2的3次方

      #region 位左移運算
      int a = 11; //11的二進制是0000 1011
      Console.WriteLine(a << 2); //0000 1011 左位移2位的結果就是0010 1100 即結果是44 (11*2^2=44)
      Console.Read();
      #endregion

C#位運算以及實例計算詳解

六、位右移運算

位右移運算將整個數按位右移若干位,右移后空出的部分填0。符號為:>>

運算規則:a>>1 = a整除2的1次方;a>>2 = a整除2的2次方;a>>3 = a整除2的3次方

      #region 位右移運算
      int a = 11; //11的二進制是0000 1011
      Console.WriteLine(a >> 2); //0000 1011 右位移2位的結果就是0000 0010 即結果是2 (11÷(2^2)=2)
      Console.Read();
      #endregion

C#位運算以及實例計算詳解

總結:

1.位運算,雖然平時很少用到位運算符,但是在某些時候,這些確實能夠給我們提供很好的解決方案。

2.在實際應用中,不斷的重溫基礎的知識,加強鞏固。畢竟很多時候,只有將基礎的知識打牢固,后續才能更好的功能拓展和衍生

好了,以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

边坝县| 黎川县| 株洲市| 灵石县| 榆林市| 全椒县| 虎林市| 含山县| 晋州市| 玛曲县| 贵阳市| 文登市| 延寿县| 温宿县| 潞西市| 永安市| 综艺| 崇阳县| 明光市| 蒲城县| 姜堰市| 江川县| 龙游县| 德令哈市| 龙川县| 关岭| 双辽市| 新乡市| 平顶山市| 和田市| 鄯善县| 保定市| 巨鹿县| 安新县| 淳化县| 湘西| 共和县| 苗栗县| 罗甸县| 贡觉县| 上饶市|