源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C#中的位操作小结

  • 时间:2021-03-10 01:59 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C#中的位操作小结
位操作符是对数据按二进制位进行运算的操作符。位操作是其他很多语言都支持的操作,如C、C++和Java等,C#也不例外支持位操作。注意位操作支持的数据类型是基本数据类型,如byte、short、char、int、long等,C#支持的位操作有如下几种: •按位与 & •按位或 | •按位取反 ~ •左移 << •右移 >> •异或^ 在C#中位操作同C的位操作没有什么区别,位操作的速度相对较快,而且如果熟练的话,处理起来也相对方便,特别是在一些权限等相关的设置中,比如:用1、2、4、8、16、32、64分别代表查看、添加、编辑、修改、删除、审批等权限值的时候,如果某个用户的最终权限是多种权限值的叠加,用位操作来判断是否具有某种权限是相当方便的了。 [b]举例说明: [/b]
[u]复制代码[/u] 代码如下:
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();     } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部