博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#中的位操作
阅读量:6325 次
发布时间:2019-06-22

本文共 1281 字,大约阅读时间需要 4 分钟。

位操作符是对数据按二进制位进行运算的操作符。位操作是其他很多语言都支持的操作,如C、C++和Java等,C#也不例外支持位操作。注意位操作支持的数据类型是基本数据类型,如byte、short、char、int、long等,C#支持的位操作有如下几种:
· 按位与 & 
· 按位或 | 
· 按位取反 ~ 
· 左移 << 
· 右移 >>
· 异或^
在C#中位操作同C的位操作没有什么却别,位操作的速度相对较快,而且如果熟练的话,处理起来也相对方便,特别是在一些权限等相关的设置中,比如: 用1、2、4、8、16、32、64分别代表查看、添加、编辑、修改、删除、审批等权限值的时候,如果某个用户的最终权限是多种权限值的叠加,用位操作来 判断是否具有某种权限是相当方便的了。
举例说明:
using
 System;
/*
 * 作者:周公
 * 说明:本程序用以说明在C#中如何进行位操作。
 * 日期:2007-09-17
 * 
*/
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();
    }
}
运行结果:

本文转自周金桥51CTO博客,原文链接:http://blog.51cto.com/zhoufoxcn/163949 ,如需转载请自行联系原作者

你可能感兴趣的文章
2017-12-21 FriceEngine试用与API中文化
查看>>
【云周刊】第212期:发布SaaS加速器:我们不做SaaS,我们只做SaaS生态的推进者和守护者...
查看>>
企业级性能、安全可靠 阿里云发布企业级大数据平台开发者版
查看>>
发力1小时到家服务,山姆与京东到家共建前置仓获10倍坪效、60%月复购率
查看>>
苹果又挖VR界大牛,这次是Jaunt 的创始人
查看>>
【直播回顾】云栖社区特邀专家蒋泽银:Jpom一款低侵入式Java运维、监控软件...
查看>>
CefSharp中ChromiumWebBrowser打开新页面处理(_blank)
查看>>
解决ipad连接不上电脑的问题
查看>>
全球数字化报告 2019 发布:每 11 秒产生一位网络新人
查看>>
Kubernetes(六) - Secret和私有仓库认证
查看>>
DBeaver 社区版 6.0.2 发布,可视化数据库管理平台
查看>>
jQuery自定义右键菜单
查看>>
分布式工具的一次小升级⏫
查看>>
云创大数据亮相第四届中国-亚欧安博会
查看>>
为用户安全着想,The Void把VR硬件做成了安全帽
查看>>
“RESOURCE MONITOR“CPU占用特别高
查看>>
机器人可以比人类优秀,那未来会替代人类吗?
查看>>
Linux-(tar,gzip,df,du)
查看>>
Android开发之蓝牙操作
查看>>
前后端分离的思考与实践(四)
查看>>