C#中的位操作小結(jié)
位操作符是對(duì)數(shù)據(jù)按二進(jìn)制位進(jìn)行運(yùn)算的操作符。位操作是其他很多語(yǔ)言都支持的操作,如C、C++和Java等,C#也不例外支持位操作。注意位操作支持的數(shù)據(jù)類(lèi)型是基本數(shù)據(jù)類(lèi)型,如byte、short、char、int、long等,C#支持的位操作有如下幾種:
•按位與 &
•按位或 |
•按位取反 ~
•左移 <<
•右移 >>
•異或^
在C#中位操作同C的位操作沒(méi)有什么區(qū)別,位操作的速度相對(duì)較快,而且如果熟練的話(huà),處理起來(lái)也相對(duì)方便,特別是在一些權(quán)限等相關(guān)的設(shè)置中,比如:用1、2、4、8、16、32、64分別代表查看、添加、編輯、修改、刪除、審批等權(quán)限值的時(shí)候,如果某個(gè)用戶(hù)的最終權(quán)限是多種權(quán)限值的疊加,用位操作來(lái)判斷是否具有某種權(quán)限是相當(dāng)方便的了。
舉例說(shuō)明:
using System;
public class BitAction
{
public static void Main(string[] args)
{
int[] power = new int[] { 1, 2, 4, 8, 16, 32, 64 };
int value = 126;
/*
* 1的二進(jìn)制形式: 00000001
* 2的二進(jìn)制形式: 00000010
* 4的二進(jìn)制形式: 00000100
* 8的二進(jìn)制形式: 00001000
* 16的二進(jìn)制形式: 00010000
* 32的二進(jìn)制形式: 00100000
* 64的二進(jìn)制形式: 01000000
* 126的二進(jìn)制形式:01111110
*/
for (int i = 0; i < power.Length; i++)
{
if ((value & power[i]) != 0)
{
Console.WriteLine("有power[{0}]={1}所代表的權(quán)限", i, power[i]);
}
}
Console.WriteLine("按位與:126&4={0}", value & 4);
Console.WriteLine("按位或:126|4={0}", value | 4);
Console.WriteLine("左移:126<<4={0}", value << 4);
Console.WriteLine("右移:126>>4={0}", value >> 4);
Console.WriteLine("異或:126^4={0}", value ^ 4);
Console.WriteLine("按位取反:~126={0}", ~value);
Console.ReadLine();
}
}
- C/C++位操作實(shí)例總結(jié)
- C++虛函數(shù)表實(shí)例分析
- 提高C++程序運(yùn)行效率的10個(gè)簡(jiǎn)單方法
- C++編譯器無(wú)法捕捉到的8種錯(cuò)誤實(shí)例分析
- C++直接初始化與復(fù)制初始化的區(qū)別深入解析
- C++中引用&與取地址&的區(qū)別分析
- C++指向函數(shù)的指針用法詳解
- 深入分析C++中聲明與定義的區(qū)別
- C/C++常用函數(shù)易錯(cuò)點(diǎn)分析
- C++中重載、重寫(xiě)(覆蓋)和隱藏的區(qū)別實(shí)例分析
- 深入理解C++中public、protected及private用法
- C++位操作的常見(jiàn)用法小結(jié)
相關(guān)文章
C#實(shí)現(xiàn)給Word每一頁(yè)設(shè)置不同文字水印的方法詳解
Word中設(shè)置水印時(shí),可使用預(yù)設(shè)的文字或自定義文字設(shè)置為水印效果,但通常添加水印效果時(shí),會(huì)對(duì)所有頁(yè)面都設(shè)置成統(tǒng)一效果。本文以C#?代碼為例,對(duì)Word每一頁(yè)設(shè)置不同的文字水印效果作詳細(xì)介紹,感興趣的可以了解一下2022-07-07Unity3D實(shí)現(xiàn)列表分頁(yè)效果
這篇文章主要為大家詳細(xì)介紹了Unity3D實(shí)現(xiàn)列表分頁(yè)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-04-04解決unity3d導(dǎo)入模型貼圖材質(zhì)丟失的問(wèn)題
這篇文章主要介紹了解決unity3d導(dǎo)入模型貼圖材質(zhì)丟失的問(wèn)題,具有很好的參考價(jià)值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-04-04C#使用GUID(全局統(tǒng)一標(biāo)識(shí)符)
這篇文章介紹了C#使用GUID(全局統(tǒng)一標(biāo)識(shí)符)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04