当前位置:  编程技术>.net/c#/asp.net

C#中的位操作小结

    来源: 互联网  发布时间:2014-10-27

    本文导语:  位操作符是对数据按二进制位进行运算的操作符。位操作是其他很多语言都支持的操作,如C、C++和Java等,C#也不例外支持位操作。注意位操作支持的数据类型是基本数据类型,如byte、short、char、int、long等,C#支持的位操作有如...

位操作符是对数据按二进制位进行运算的操作符。位操作是其他很多语言都支持的操作,如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={0}", ~value);
        Console.ReadLine();
    }
}


    
 
 

您可能感兴趣的文章:

  • c#对象中两种copy操作:深拷贝(Deep Copy)与浅拷贝(Shallow Copy)
  • c#的时间日期操作示例分享(c#获取当前日期)
  • .NET下 c#通过COM组件操作并导出Excel实例代码
  • C#操作txt文件,进行清空添加操作的小例子
  • C#实现装箱与拆箱操作简单实例
  • 浅谈C#互操作的内存溢出问题
  • C# 中的??操作符浅谈
  • c#剪切板操作的简单实例
  • c# 调用Surfer软件,添加引用的具体操作方法
  • c#异步task示例分享(异步操作)
  • c#下注册表操作的一个小细节
  • C#操作CLOB大对象的代码一例
  • c#判断操作系统位数实例代码
  • 一些关于c#与Sql的时间的操作
  • c#判断操作系统位数的示例分享
  • C# 操作符之三元操作符浅析
  • C# Dictionary操作范例(入门新手参考)
  • C#的WebBrowser操作frame实例解析
  • C# Winform 操作 INI 配置文件的实现代码
  • C#程序最小化到托盘图标操作步骤与实现代码
  • C#操作FTP出现500错误解决办法
  • jquery常用操作小结
  • C++位操作的常见用法小结
  • c#对字符串操作的技巧小结
  • MongoDB在PHP中的常用操作小结
  • 六条比较有用的MySQL数据库操作的SQL语句小结
  • Python 时间操作例子和时间格式化参数小结
  • C#数据库操作小结
  • C#数据库操作小结
  • Bash Shell字符串操作小结
  • IT科技资讯 iis7站长之家
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ Stacks(堆栈) 成员 操作:比较和分配堆栈
  • 谁有操作系统PV操作的例子???谁有操作系统PV操作的例子???谢谢!!
  • C++ Strings(字符串) 成员 Operators:操作符,用于字符串比较和赋值
  • 已安装了Windows操作系统,还想安装Linux。却还想在开机选择操作系统时由Windows引导,请问如何操作。在线等待
  • C++ I/O 成员 flags():操作flags
  • 请问LINUX操作系统是怎样对外围设备进行操作的
  • C++ I/O 成员 width():操作域宽度
  • 什么样的操作最耗费服务器的IO操作?
  • Xcode介绍及创建工程和工程依赖操作步骤
  • 无操作系统下对U盘的操作
  • MyEclipse如何查看和设置文件编码格式相关操作
  • 请问命令行操作下怎么改Linux操作系统的日期和时间?
  • Html checkbox标签如何设置默认选中以及用js操作checkbox代码示例
  • 正在学操作系统原理,做操作系统方面的实验用那种工具较好?
  • c/c++ 操作符优先级参考
  • 请问16位操作系统和32位操作系统的区别?
  • javascript操作html复选框checkbox:如何判断复选框是否被选中
  • 基于linux操作系统之上操作LCD问题,急???
  • Plesk 中操作和设置 Docker 容器
  • 哪位大侠知道Linux里的有名管道传送数据快不快?有名管道操作的过程是否有读写硬盘的操作?
  • java操作excel2007文档介绍及代码例子
  • 如何在一个用户对application操作时防止别的用户对它操作?(好难啊)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3