C# IF((768 & 32) ==32)true & 怎么运算的 true

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/29 18:02:21
C# IF((768 & 32) ==32)true & 怎么运算的 true
xNQ_e )ɆK1xBBRmEZTi%RJG?^=RCѽ=gr73iރ'/[zdF!A,V/[y6tk=7zTfn[`"wЮ3s9Mtu:23U"Ǹ_ ::nFeP?ӨLe(OӦO+ӥ sDYTAfc-wâR$χ1EA^e޻6Ti3ë%L"`"u 7bM3& `eZ4@hąI Bj$z [hn*7hZKؕxڇqx"K1;%iKY. A댧Dz_* SBN ]tB׽a-<5 pu`MSn/^K?=3OgA &ٹ}C ΩP"GEo |K@Sɾil^cL ?e\۩jA M}uͿw^L(R?Y^(L{5SG(hTPg%&ʺ}E`~כ 86,@^r;%HXO0{KJu3Vƪb;c0V݄ ,=[?՞

C# IF((768 & 32) ==32)true & 怎么运算的 true
C# IF((768 & 32) ==32)true & 怎么运算的 true

C# IF((768 & 32) ==32)true & 怎么运算的 true
& 是 位与 符号;百度 "位与"
这种条件表达式一般是用做某种设置的判断;
该设置有多条,且可多选,便可以用这种方式;
其特点是:
设置中每一个选项的值都是2的N次冥,其实就是2进制中每一位上所代表的值, 如
0 1 2 4 8 16 32 64 128(分别对应2进制中第一位到第八位的值)
这样如果你任意做了多选; 因为在2进制中这些数是互不干扰的; 所以可以直接用 位或 做组合,用位与做判断;
例子:
// 我一般用这种数据,会把他们做成枚举
enum Setting
{
NONE = 0,ST1 = 1, ST2 = 2, ST3=4, ST4=8
}
// 赋值,可用位或将多个选项组合在一起
Setting s = Setting.ST1 | Setting.ST2.2;
// 判断,逐个判断(既然用这种数据结构,一般该设置就是允许多选的,否则没必要)
if(s & Setting.ST1 == Setting.ST1)
{
// 设置了ST1 要做的事
}
if(s & Setting.ST2 == Setting.ST2)
{
// 设置了ST2 要做的事
}
if(s & Setting.ST3 == Setting.ST3)
{
// 设置了ST3 要做的事
}
if(s & Setting.ST4 == Setting.ST4)
{
// 设置了ST4 要做的事
}