当前位置: > C# IF((768 & 32) ==32)true & 怎么运算的 true...
题目
C# IF((768 & 32) ==32)true & 怎么运算的 true

提问时间:2021-04-01

答案
& 是 位与 符号;百度 "位与"
这种条件表达式一般是用做某种设置的判断;
该设置有多条,且可多选,便可以用这种方式;
其特点是:
设置中每一个选项的值都是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 要做的事
}
举一反三
已知函数f(x)=x,g(x)=alnx,a∈R.若曲线y=f(x)与曲线y=g(x)相交,且在交点处有相同的切线,求a的值和该切线方程.
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
奥巴马演讲不用看稿子.为什么中国领导演讲要看?
想找英语初三上学期的首字母填空练习……
英语翻译
版权所有 CopyRight © 2012-2019 超级试练试题库 All Rights Reserved.