您好,登錄后才能下訂單哦!
這篇文章主要介紹“C#中位運算的用法”,在日常操作中,相信很多人在C#中位運算的用法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”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
三、位邏輯或運算
位邏輯或運算將兩個運算對象按位進行或運算。符號為 |
運算規則為: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
四、位邏輯異或運算
位邏輯異或運算將兩個運算對象按位進行異或運算。符號為^
運算規則: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
五、位左移運算
位左移運算將整個數按位左移若干位,左移后空出的部分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
六、位右移運算
位右移運算將整個數按位右移若干位,右移后空出的部分填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#中位運算的用法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。