国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#中的位操作小結

2020-01-24 02:54:18
字體:
來源:轉載
供稿:網友

位操作符是對數據按二進制位進行運算的操作符。位操作是其他很多語言都支持的操作,如C、C++和Java等,C#也不例外支持位操作。注意位操作支持的數據類型是基本數據類型,如byte、short、char、int、long等,C#支持的位操作有如下幾種:

•按位與 &
•按位或 |
•按位取反 ~
•左移 <<
•右移 >>
•異或^

在C#中位操作同C的位操作沒有什么區別,位操作的速度相對較快,而且如果熟練的話,處理起來也相對方便,特別是在一些權限等相關的設置中,比如:用1、2、4、8、16、32、64分別代表查看、添加、編輯、修改、刪除、審批等權限值的時候,如果某個用戶的最終權限是多種權限值的疊加,用位操作來判斷是否具有某種權限是相當方便的了。

舉例說明:

復制代碼 代碼如下:

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的二進制形式:  00000001
         * 2的二進制形式:  00000010
         * 4的二進制形式:  00000100
         * 8的二進制形式:  00001000
         * 16的二進制形式: 00010000
         * 32的二進制形式: 00100000
         * 64的二進制形式: 01000000
         * 126的二進制形式:01111110
         */
        for (int i = 0; i < power.Length; i++)
        {
            if ((value & power[i]) != 0)
            {
                Console.WriteLine("有power[{0}]={1}所代表的權限", 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();
    }
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 静安区| 巨鹿县| 水富县| 临桂县| 抚顺县| 界首市| 区。| 永德县| 永兴县| 都昌县| 太和县| 鸡泽县| 岫岩| 上思县| 集安市| 康保县| 赤城县| 靖西县| 额敏县| 磐石市| 许昌县| 井冈山市| 美姑县| 涟水县| 浙江省| 西城区| 龙川县| 鄂伦春自治旗| 南投县| 哈密市| 射洪县| 佛山市| 鹿泉市| 三亚市| 措勤县| 织金县| 瓦房店市| 牟定县| 日土县| 永兴县| 桦南县|