国产探花免费观看_亚洲丰满少妇自慰呻吟_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();
    }
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鄂托克前旗| 天柱县| 岗巴县| 读书| 西藏| 耿马| 云龙县| 临海市| 和林格尔县| 潞西市| 蒲城县| 安丘市| 大悟县| 大荔县| 沙田区| 通辽市| 乐平市| 龙泉市| 丰宁| 三江| 醴陵市| 启东市| 阳江市| 阳山县| 绥德县| 永顺县| 长武县| 乳源| 阳朔县| 黑龙江省| 黄平县| 四会市| 浦城县| 桦川县| 溆浦县| 湟源县| 崇明县| 高邑县| 鄂托克旗| 治多县| 延津县|