2010年5月19日(布尔逻辑)

C#入门 专栏收录该内容
6 篇文章 0 订阅

1、布尔比较运算符

运算符      类别          示例表达式                             结果

==             二元          var1=var2==var3            如果var2等于var3,var的值就是TRUE,否则为FALSE

!=              二元          var1=var2!=var3             如果var2不等于var3,var的值就是TRUE,否则为FALSE

<               二元          var1=var2<var3              如果var2小于var3,var的值就是TRUE,否则为FALSE 

>               二元          var1=var2>var3              如果var2大于var3,var的值就是TRUE,否则为FALSE

<=             二元          var1=var2<=var3            如果var2小于或等于var3,var的值就是TRUE,否则为FALSE 

>=             二元          var1=var2>=var3            如果var2大于或等于var3,var的值就是TRUE,否则为FALSE

!                一元           var1=!var2                     如果var2是false,var1的值就是true,否则为false(逻辑非)

&               二元           var1=var2&var3             如果var2和var3都是TRUE,var的值就是TRUE,否则为FALSE(逻辑与)

|                二元         var1=var2|var3    如果var2或var3是TRUE(或者两者都是),var1的值就是TRUE,否则为FALSE(逻辑或)

^              二元            var1=var2^var3          如果var2和var3的逻辑值不一样,var1的值就是TRUE,否则为FALSE(逻辑异或)

&&            二元           var1=var2&&var3           如果var2和var3都是TRUE,var的值就是TRUE,否则为FALSE

||              二元          var1=var2||var3    如果var2或var3是TRUE(或两者都是),var1的值就是TRUE,否则为FALSE(逻辑或)

注意:

(1)可以对布尔值使用上述运算符,但是只能使用==和!=运算符。如:

bool  isTrue;

isTrue=myBool==TRUE;

(2)&&、||和&、|功能一样,但性能前者比较好,因为前者可能根本不要比较第二个操作数,而后者无论在什么情况下都要计算,前者只有第一个操作数包含某个值时,才计算第二个操作数,例如:

var1=(var2!=0)&&(var3/var2>2);

2、位运算符(&,|)

    那为什么还会有&、|运算符呢?原因是这两个运算符可以对数值进行操作,它们可以处理存储在变量中的一系列位,而不是变量的值。

    例如:int result,op1,op2;

             op1=4;

             op2=5;

             result=op1&op2;

    这里必须考虑op1和op2的二进制表示形式,即op1=(100)2,op2=(101)2,计算过程如下:

                                                                   1   0   0           4

                                                              &   1   0   1      &   5
                                --------------------------------------------------------------------------------
                                                                   1   0   0            4

位运算符在某些情况下是非常有用的,因为它们可以用变量中的各个位存储信息。例如颜色可以使用3个位来指定红(000)、绿(010)、蓝(001)。

3、位移运算符(>>,<<)

运算符       类别        示例表达式               结果

>>           二元        var1=var2>>var3   把var2的二进制值向右移动var3位,就得到var1的值

<<           二元        var1=var2<<var3   把var2的二进制值向左移动var3位,就得到var1的值

例如:

int   var1,var2=10,var3=2;

var1=var2<<var3;

结果,var1=40。

在大多数代码中,都不使用这些运算符,但应知道有这样的运算符存在。它们主要用于高度优化的代码,在这些代码中,不能使用其他数学操作。因此通常用于设备驱动程序或系统代码。

4、布尔赋值运算符

运算符          类别              示例表达式        结果

&=              二元              var1&=var2     var1的值是var1&var2的结果       

|=               二元              var1|=var2      var1的值是var1|var2的结果     

^=              二元              var1^=var2     var1的值是var1^=var2的结果

>>=            一元              var1>>=var2    把var1的值向右移动var2位,就得到var1的值

<<=            一元              var1<<=var2    把var1的值向左移动var2位,就得到var1的值

5、运算符的优先级(略)

 

 

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值